1
我有以下文件:蒙戈DB,PHP文檔中添加或更新一個字段
{
"_id": ObjectId("5241f1d79b7e7aed05000000"),
"description": {
"nl": "Hallo",
"en": "Hello"
},
"name": "Marc"
}
現在我需要更新到一個更新現有的字段或新字段添加到描述。在PHP中我使用Mongo的更新功能,下面的代碼:
$new_data = array(
'$set' => array(
"description" => array(
"de" => "hallo"
)
)
);
它所做的是刪除所有其它領域,只是將「德」字段。我嘗試用$ push替換$ set(我認爲這是爲此設置的),但沒有結果$ setOnInsert也不做任何事情。
如何解決此問題,以便我可以添加新字段(如果不存在)或更新(如果存在)。
感謝
也更新前加上此前的紀錄在$ NEW_DATA的描述,因爲邏輯思考你正在更新提交 –
這是有道理的,但這意味着在某些情況下我需要發送eg帖子中的23個額外字段沒有更新。沒有其他辦法了? –
你可以添加更多的字段,但在你的案例描述是數組,你正在用其他值替換 –