如何查看mongo中删除的记录?

时间:2015-09-29 11:37:28

标签: php mongodb symfony

我有一个带有IDs的数组,我想从mongo中删除没有来自我的数组的ID的记录。

我使用了这段代码

修改

`> db.people.remove({ "_id" : { $nin: ["1","2","3"] }});`

结束编辑

我从这里获得灵感How do I do a "NOT IN" query in Mongo?

我需要查看删除了哪些记录。有没有一种方法可以直接从查询中获取数据?

我更喜欢避免使用mongo搜索当前数据的方法,然后查看我的数组和mongo中的数据之间的区别。

我正在将它应用于Symfony2,所以如果有人有一些建议,那就太棒了

1 个答案:

答案 0 :(得分:1)

db.people.remove不会返回已删除的文档,但会返回已删除文档的数量,以便您可以检查它们是否已成功删除。

这是一种你可以做你想做的事情,但它可能适用于你的应用程序,也可能不适合:

  1. 找到要删除的文档集
  2. 将它们保存在内存中(即,将它们存储为分配给变量的列表)
  3. 执行删除操作
  4. 检查已删除文档的数量以确保成功
  5. 如果成功,则显示变量
  6. 中的文档

    或者,您可以使用findAndModify命令http://docs.mongodb.org/manual/reference/method/db.collection.findAndModify/。这将返回已删除的文档,但它一次只能执行一个,因此您需要执行某种循环。