【问题标题】:Remove particular object from array in mongoose document (Mongodb)从猫鼬文档(Mongodb)中的数组中删除特定对象
【发布时间】:2017-07-05 13:11:28
【问题描述】:

我必须从文档“dsrNote”的数组中删除一个元素

其中有“_id”:ObjectId("58a5594bb77d2f1dd49e2986")

{
    "_id": ObjectId("58a558efb77d2f1dd49e2983"),
    "userId": ObjectId("586356b199248d1517a6758b"),
    "dsrNote": [
        {
            "activity": "ajay kumar dogra",
            "_id": ObjectId("58a5594bb77d2f1dd49e2986")
                },
        {
            "activity": "ajay  kumar",
            "_id": ObjectId("58a55969b77d2f1dd49e2987")
                }
             ],
}

在上面的文档中,我需要从 dsrNote 数组中删除第一个对象

这个我试过了,还是不行

collectionName.update({ "userId": "586356b199248d1517a6758b" }, { $pull: { "dsrNote": { "_id": "58a5594bb77d2f1dd49e2986" } } }).exec(function (err, data) {});

【问题讨论】:

  • 错误信息是什么?
  • { $pull: { "dsrNote": { "_id": 58 a5594bb77d2f1dd49e2986 } } } -> 为什么_id 的值不用双引号括起来?是不是打错字了?
  • 双引号只是发帖时的格式问题,不会出错
  • @israel.zinc 没有错误发生

标签: javascript node.js mongodb mongoose


【解决方案1】:

你可以试试这个,它对我的​​情况有效

DSR.update({"userId":req.ID,"dsrNote._id":req.params.id}, { $pull: {"dsrNote": { "_id":req.params.id}}})
        .exec(function(err,data){
    });

【讨论】:

    猜你喜欢
    • 2021-12-18
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 2020-06-10
    • 2019-09-04
    • 2022-08-18
    • 2017-03-28
    • 1970-01-01
    相关资源
    最近更新 更多