【问题标题】:Mongodb fetch multiple _id queries togetherMongodb 一起获取多个 _id 查询
【发布时间】:2013-12-07 16:25:42
【问题描述】:

我有几个 _id 参数,我想获取它们的匹配文档。 最好的方法是什么。

我更喜欢在数据库层而不是在业务逻辑中解决这个问题。

例如:

var getPostById = function(id)
{
    var result = false;
    opinion.findOne({_id : id}, function(err, data)
    {
        result = data;
    });
    return result;
},

var arr = [];
var _idList = [41415123,31512512,45213123123];
for(var len = _idList.length; len > 0; len--) {
    arr.push(getPostById(_idList[i]));
}

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    你可以使用$in:

    opinion.find({_id : { $in : _idList } }, ...);
    

    PS,请务必阅读 Node 中的异步调用是如何工作的,您发布时的 getPostById 函数将不起作用,因为它在查询完成之前返回 result

    【讨论】:

    • 谢谢伙计,虽然我没有意识到这里有一个完全相同的问题和相同的答案。关于循环;这只是一个例子。我在代码中使用异步库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2021-09-09
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多