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个额外字段没有更新。没有其他办法了? –
你可以添加更多的字段,但在你的案例描述是数组,你正在用其他值替换 –