我有一个数组,它包含MongoDB集合的ID

array = [ '573163a52abda310151e5791',
         '57358e5dbd2f8b960aecfa8c',
         '573163da2abda310151e5792' ]

像这样,在我的nodejs代码中,我想找到所有这些id的文档。我用的是Mongoskin。
根据医生的说法,这是找到结果的正确方法,这给了我想要的东西。但是在这里,我想使用数组而不是直接的值,但是无法找到如何做到这一点
   db.coll.find({
                _id: {
                    $in: [mongoskin.helper.toObjectID("573163da2abda310151e5792"),
                          mongoskin.helper.toObjectID("57358e5dbd2f8b960aecfa8c"),
                          mongoskin.helper.toObjectID("573163a52abda310151e5791")
                    ]
                }
            }).toArray(function(err, docs) {
                console.log(docs);
                res.send(docs)
            });

最佳答案

我对Mongoskin不太了解,但也许你可以试试这个…

var newArray = oldArray.map(function(ele) {
  return mongoskin.helper.toObjectID(ele);
});
OR
var newArray = oldArray.map(mongoskin.helper.toObjectID(ele));

所以现在可以在查询中使用newarray
db.coll.find({
            _id: {
                $in: newArray
            }
        }).toArray(function(err, docs) {
            console.log(docs);
            res.send(docs)
        });

08-28 10:53