从MongoDB中的数组中删除项目

时间:2018-10-03 17:58:13

标签: database mongodb mongodb-query

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

{
        "_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 })

我想要的是摆脱带有指定电子邮件的{ }内部的所有内容。

任何帮助将不胜感激。

0 个答案:

没有答案