我正在尝试找到一种最佳方法来删除除查找查询返回的前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}})
有没有办法以单一查询的最佳方式执行此操作?
答案 0 :(得分:0)
尝试与之相反。
1. idsList = model.find(findQuery).sort({_id:-1}).limit(N)
2. model.remove({_id:{'$nin':idsList}})