我有以下文档:
{
"_id": ObjectId("5241f1d79b7e7aed05000000"),
"description": {
"nl": "Hallo",
"en": "Hello"
},
"name": "Marc"
}
现在我需要更新以更新一个现有字段或向描述添加新字段。在php中,我使用Mongo的更新函数和以下代码:
$new_data = array(
'$set' => array(
"description" => array(
"de" => "hallo"
)
)
);
它的作用是删除所有其他字段,只需插入"de"字段。我尝试用 $push 替换$set(我认为这是为此而制作的),但没有结果$setOnInsert什么也没做。
我如何解决这个问题,以便我可以添加一个新字段(如果不存在)或更新(如果存在)。
谢谢
只需使您的更新像
{$set: {"description.de": "hello"}}
我想在你的代码中它会是:
$new_data = array(
'$set' => array(
"description.de" => "hallo"
)
);