删除时忽略限制(猫鼬)

vil*_*ane 5 mongoose mongodb node.js

我需要删除集合中最早的几个文档,所以我写了这样的东西:

Model.remove({
    u: "abc"
}).sort({
    _id: 1
}).limit(10).exec(function (err, count) {
    // count gives the total documents number...
});
Run Code Online (Sandbox Code Playgroud)

还有这个:

Model.find(...).sort(...).limit(...).remove(...);
Run Code Online (Sandbox Code Playgroud)

希望有人能提供帮助.谢谢.

Joh*_*yHK 10

MongoDB的删除操作不支持限制选项,但你可以find_id你要删除,然后将文档中的使用$in将其删除:

Model.find({u: "abc"}).select('_id').sort({_id: 1}).limit(10)
    .exec(function (err, docs) {
        var ids = docs.map(function(doc) { return doc._id; });
        Model.remove({_id: {$in: ids}}, function (err) {...}); 
    }
);
Run Code Online (Sandbox Code Playgroud)