Node.js+;mongoDB,mongojs$in运算符出错

Node.js+;mongoDB,mongojs$in运算符出错,node.js,mongodb,mongodb-query,mongojs,Node.js,Mongodb,Mongodb Query,Mongojs,我使用mongoDB运行node.js,并使用mongojs作为驱动程序。 我有以下问题, 我尝试使用_id数组查询业务集合,如果我尝试如下动态构建查询,则返回长度为0的数组,这是错误的 myFavoriteBusinessArray.forEach(function (iValue, j) { var temp = 'mongojs.ObjectId("' + iValue + '")'; objectIdArray.push(temp);

我使用mongoDB运行node.js,并使用mongojs作为驱动程序。 我有以下问题,

我尝试使用_id数组查询业务集合,如果我尝试如下动态构建查询,则返回长度为0的数组,这是错误的

 myFavoriteBusinessArray.forEach(function (iValue, j) {
            var temp = 'mongojs.ObjectId("' + iValue + '")';
            objectIdArray.push(temp);
        });
        var queryObject = {
            _id: {
                $in: objectIdArray
            }
        };
 db1.db.business.find(queryObject,
            function (err, business) {
                if (err) res.json(err);
                res.json(business);
            });
    }
    else {
        res.json({"login": "failed"});
    }
如果我尝试下面的方法,那么我得到的是正确的3数组

db1.db.business.find({_id: { $in: [ mongojs.ObjectId("534fabb10648cd1c1b000002"), mongojs.ObjectId("52d664c15186ad103c000001"), mongojs.ObjectId("534ee1b4b51682bc30000002") ] }},
            function (err, business) {
                if (err) res.json(err);
                res.json(business);
            });
谁能告诉我哪里出了问题?非常感谢

问候,, Chidan

您应该更换:

var temp = 'mongojs.ObjectId("' + iValue + '")';
作者:

var temp = mongojs.ObjectId(iValue);