如何通过查询保留前N个文档并删除mongoDB中的所有其他文档?
我试图find一个最佳的方式来删除查找查询返回的顶部N以外的所有文档。
我们目前正在做的是得到所有的文档IDsorting和跳过N.然后发射删除查询为{id: {$in: idsList}}
。
1. model.find(findQuery).sort({_id:-1}).skip(N) -> collecting all ids from this query(idsList) 2. model.remove({_id:{'$in':idsList}})
有没有办法使用单个查询以最佳方式做到这一点?
试着做相反的事情。
1. idsList = model.find(findQuery).sort({_id:-1}).limit(N) 2. model.remove({_id:{'$nin':idsList}})