2011-07-13 70 views
2

因为我对MongoDB很陌生,猫鼬一直是我唯一的交互方式。因此,如果我没有正确分离两种技术或者理解这两种技术,请提前道歉。MongoDB和Mongoose:如何查找和删除大量文档。 findAndModify(..... {remove:true})?

我有一个基本上是日志的集合。每个日志项都是我系统中特定服务器上状态检查的结果。当我删除一台服务器时,我想也删除所有关联的日志条目。什么是最有效的方式来做到这一点?我知道我可以找到具有特定服务器ID的所有日志项,然后遍历每个日志项并将其删除,但这看起来效率很低。我已经阅读了大部分的mongo文档,它看起来像findAndModify是做到这一点的最佳方式,但我无法弄清楚猫鼬的语法。有人可以帮助我的机会吗?

我使用的是猫鼬的最新版本的那一刻,1.7.2

+1

http://www.mongodb.org/display/DOCS/Removing –

回答

3

也许我失去了一些东西,但为什么不只是做

db.logs.remove({serverid: deletedServerId}) 

+0

*面掌* 我知道这是简单的事情。谢谢! – mattmcmanus

+0

当文件不存在时,这不能捕捉正确吗? – nilveryboring

+0

这应该更好吗? findOneAndRemove – nilveryboring