MongoDB - 如何删除列表中包含的文档

问题描述 投票:0回答:1

我想从集合中删除不包含在Python列表中的文档。 所有文档都有一个标题字段,我有一个标题列表。

标题列表如下:

titles = ["title1", "title2", "title3"]

MongoDB中的文档如下。

[
  {
    "_id": { "$oid": "fsadkfds" },
    "title": "title1",
   },
   {
     "_id": { "$oid": "fasd;jklfdsma" },
     "title": "title2",
   },
   {
     "_id": { "$oid": "fdsjk" },
     "title": "title3",
   },
   {
     "_id": { "$oid": "klfdsjsdksf" },
     "title": "title4",
   },
]

在本例中,我想删除标题为:title1、title2 和 title3 的文档。换句话说,我只想保留 title4。

我怎样才能实现这个目标?

python database mongodb mongodb-query pymongo
1个回答
1
投票

假设您使用的是 PyMongo,您应该通过提供过滤条件来删除文档来使用

delete_many()

db.collection.delete_many({ 'title': { '$in': titles } })
© www.soinside.com 2019 - 2024. All rights reserved.