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 に答える