首页 > 解决方案 > 从 MongoDB 中的数组中删除项目

问题描述

我拥有的数据库是具有这样结构的联系人列表

{
        "_id" : ObjectId("5bb4fff62dba3129388423fa"),
        "user_id" : 1,
        "custom_list_id" : "VDFLVPMK",
        "list_name" : "New Test List",
        "contacts" : [
                {
                        "email" : "test1@gmail.com",
                        "first_name" : "Jane",
                        "last_name" : "Doe",
                        "address" : "",
                        "subscribed" : true,
                        "date_added" : ISODate("2018-10-03T17:44:30.975Z"),
                        "date_changed" : ISODate("2018-10-03T17:44:30.975Z")
                },
                {
                        "email" : "test@gmail.com",
                        "first_name" : "John",
                        "last_name" : "Doe",
                        "address" : "",
                        "subscribed" : true,
                        "date_added" : ISODate("2018-10-03T17:49:58.795Z"),
                        "date_changed" : ISODate("2018-10-03T17:49:58.795Z")
                }
        ]
}

我正在尝试删除联系人中的一个人,而不删除列表中的所有内容。我正在尝试在 MongoDB 终端中运行该命令,但它什么也没做

命令

 db.customer__list__info.update({contacts:[]},{$pull:{'contacts.email':'test1@gmail.com'}})

结果

WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })

{ }我想要的是它用指定的电子邮件摆脱里面的所有东西。

任何帮助将非常感激。

标签: databasemongodbmongodb-query

解决方案


推荐阅读