Mongodb $ in以获得与数组中相同顺序的结果

时间:2016-05-14 07:05:23

标签: javascript node.js mongodb

我有一个包含mongodb集合ID的数组

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

我想要的结果与数组中的顺序相同,但我在这里得到的是

...91
...92
...8c

有没有办法以相同的顺序获得结果?

   db.coll.find({
                _id: {
                    $in: array
            }
        }).toArray(function(err, docs) {
            res.send(docs)
        });

1 个答案:

答案 0 :(得分:0)

我只是这样尝试,在mongodb中使用forEach,见下文

这是我在mongodb的原始订单

{
"_id" : ObjectId("5736d1210a39c2547cb9d90e"),
"name" : "karthi",
"dateCreated" : ISODate("2016-05-14T17:15:27.471Z")}
{
"_id" : ObjectId("5736d1380a39c2547cb9d90f"),
"name" : "ram",
"dateCreated" : ISODate("2016-05-15T17:15:27.471Z")}
{
"_id" : ObjectId("5736d1420a39c2547cb9d910"),
"name" : "kala",
"dateCreated" : ISODate("2016-05-16T17:15:27.471Z")}

试试这种方式

["karthi","kala","ram"].forEach(function(data){
db.getCollection('users').find({"name":data}).forEach(function(data1){
    print(data1)
})
})

我的输出显示此订单

karthi 
kala
ram

我认为这对你有用

相关问题