从数组中管理和删除objectId - mongoose

时间:2016-06-04 19:11:54

标签: node.js mongodb mongoose mlab

我有这种架构结构

{
"_id": {
    "$oid": "571251dae4b065a8c4d70ce1"
},
"email": "somthing12345@gmail.com",
"events": [
    {
        "$oid": "57125378e4b065a8c4d70d10"
    },
    {
        "$oid": "571253b8e4b065a8c4d70d1b"
    }
],
"valid": true,

}

我的问题是这部分

"events": [
{
    "$oid": "57125378e4b065a8c4d70d10"
},
{
    "$oid": "571253b8e4b065a8c4d70d1b"
}

如何删除此结构中的对象?

我可以为每个“事件”对象添加字段,例如 -

“title”:“some string”。

我该如何添加?

感谢。

1 个答案:

答案 0 :(得分:2)

删除:

events.update({
    _id: "571251dae4b065a8c4d70ce1"
  }, {
    $pull: {
      events: {
        $oid: "57125378e4b065a8c4d70d10"
      }
    }
  }, {
    safe: true
  }, function(err, obj) {
    // code goes here
  });

如果要添加字段标题:"某些字符串",mondoDB此刻不允许对嵌入式文档进行多次更新,因此实现目标的唯一方法是从db中选择文档,然后取这个文件事件数组并为每个数组对象添加标题。保存整个文件,更改事件数组。希望你能理解一切:)