我有一个带有IDs
的数组,我想从mongo中删除没有来自我的数组的ID的记录。
我使用了这段代码
修改
`> db.people.remove({ "_id" : { $nin: ["1","2","3"] }});`
结束编辑
我从这里获得灵感How do I do a "NOT IN" query in Mongo?
我需要查看删除了哪些记录。有没有一种方法可以直接从查询中获取数据?
我更喜欢避免使用mongo搜索当前数据的方法,然后查看我的数组和mongo中的数据之间的区别。
我正在将它应用于Symfony2,所以如果有人有一些建议,那就太棒了
答案 0 :(得分:1)
db.people.remove
不会返回已删除的文档,但会返回已删除文档的数量,以便您可以检查它们是否已成功删除。
这是一种你可以做你想做的事情,但它可能适用于你的应用程序,也可能不适合:
或者,您可以使用findAndModify命令http://docs.mongodb.org/manual/reference/method/db.collection.findAndModify/。这将返回已删除的文档,但它一次只能执行一个,因此您需要执行某种循环。