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

cl25kdpy  于 2023-10-16  发布在  Go
关注(0)|答案(1)|浏览(94)

我想从一个集合中删除不包含在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的文档。换句话说,我只想保留标题4。
我如何才能做到这一点?

qvtsj1bj

qvtsj1bj1#

假设您正在使用PyMongo,您应该通过提供过滤条件来使用delete_many()来删除文档。

db.collection.delete_many({ 'title': { '$in': titles } })

相关问题