我想从集合中删除不包含在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。
我怎样才能实现这个目标?
假设您使用的是 PyMongo,您应该通过提供过滤条件来删除文档来使用
delete_many()
。
db.collection.delete_many({ 'title': { '$in': titles } })