首页 > 解决方案 > MongoDB:从文档中的数组中删除 JSON

问题描述

我想从文档中的数组中删除 json。我的文件是这样的:

{
    "_id" : ObjectId("5c2f9a15a372ef8825b18736"),
    "class_section" : [ 
        {
            "class_id" : "1",
            "section_id" : "A"
        }, 
        {
            "class_id" : "2",
            "section_id" : "A"
        }
    ],
    "registered_time" : ISODate("2019-01-04T17:38:29.753Z"),
    "__v" : 0
}

删除"class_id": "2""section_id": "A"两个条件后,我需要以下内容

{
    "_id" : ObjectId("5c2f9a15a372ef8825b18736"),
    "class_section" : [ 
        {
            "class_id" : "1",
            "section_id" : "A"
        }
    ],
    "registered_time" : ISODate("2019-01-04T17:38:29.753Z"),
    "__v" : 0
}

我怎样才能在 MongoDB 中做到这一点?

标签: mongodbmongoosemongodb-query

解决方案


尝试使用 $pull 运算符更新文档

collection.update(
  {},
  { $pull: { "class_section": { class_id: '2' } } }
);

在此处参考 $pull 运算符的 mongo 文档


推荐阅读