我的文档看起来像
{
_id: ObjectId("someId"),
recipients: [
{
email: "emailaddress"
},
{
email: "email2"
}
]
}
我正在尝试更新第一个收件人对象,并添加另一个属性但无济于事。
{
_id: ObjectId("someId"),
recipients: [
{
email: "emailaddress",
new_prop: "something"
}
]
}
有没有办法用findOneAndUpdate做到这一点?我正在使用PHP
答案 0 :(得分:0)
我做了一些研究。我是MongoDB的新手,所以我依靠我的开发人员来验证这段代码。我想这会解决问题:
$mongoID = new MongoID('yourID');
$newdata = array('$set' => array("recipients.0.new_prop" => "Something"));
$collection->update(array("_id" => $mongoID), $newdata);
访问此页面可能会有所帮助:https://docs.mongodb.com/manual/reference/operator/update/set/