然后MongoDB找到更新 - PHP

时间:2017-04-20 03:06:17

标签: php mongodb

我的文档看起来像

{
  _id: ObjectId("someId"),
  recipients: [
    {
      email: "emailaddress"
    },
    {
      email: "email2"
    }
  ]
}

我正在尝试更新第一个收件人对象,并添加另一个属性但无济于事。

{
  _id: ObjectId("someId"),
  recipients: [
    {
      email: "emailaddress",
      new_prop: "something"
    }
  ]
}

有没有办法用findOneAndUpdate做到这一点?我正在使用PHP

1 个答案:

答案 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/