0

最近我在使用 mongoose.someModel.find({$in}) https://stackoverflow.com/questions/11839765/whats-wrong-with-in-in-mongoose时询问了$in "

重新启动节点几次后,它可以像原来一样正常工作。但现在我发现了下一个

dbQueries.update({_id: {$in: req.body.data}, authorId: req.user._id}, {deleted: true}, function onUpdate(err){
            if(err) {
                console.log(err);
                res.json({epicFail: 'ERR_RestrictedAccess'});
                return; 
            }
            res.json({});
        });

我发现它只更新第一个找到的文件!怎么了?我使用最后一个节点版本和最后一个 mongoose 2。此外,它与 mongo-native 一起正常工作!!!

4

1 回答 1

4

我认为,您需要在查询中添加“多”选项

dbQueries.update({_id: {$in: req.body.data}, authorId: req.user._id}, {deleted: true}, { multi: true }, function onUpdate(err){
    if(err) {
        console.log(err);
        res.json({epicFail: 'ERR_RestrictedAccess'});
        return; 
    }
    res.json({});
});
于 2012-08-08T01:28:14.340 回答