我试图找到一种最佳的方法来删除所有文档,但查找查询返回的前N个除外。
我们当前正在做的是让所有文档ID排序并跳过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}})