我想这样做,在mongo控制台中运行良好
> db.user.find({"_id": {$in: [ObjectId("55efa50a6f002c766e8b4571") ,ObjectId("56e9cc2d6f002ccf028b4567")]}});
在NodeJs中,但这不起作用:
user_collection.find({"_id":{$in: [new ObjectId("55efa50a6f002c766e8b4571"), new ObjectId("56e9cc2d6f002ccf028b4567")]} })....
我正在使用本机mongodb驱动程序
var MongoClient = require('mongodb').MongoClient;
var dbConfig = config.get('Autenthication.dbConfig');
var ObjectId = require('mongodb').ObjectID;
MongoClient.connect(dbConfig.url, function (err, db) {
var user_collection = db.collection('user');
user_collection.find({"_id":{$in: [new ObjectId("55efa50a6f002c766e8b4571")]} }, {_id:true, name:true, email:true ,emailAccount:true, idFacebook:true}).each(function(err, user) {
//code code code
});
});
[new ObjectId("55efa50a6f002c766e8b4571")]
是示例
答案 0 :(得分:1)
var ObjectId = require('mongodb').ObjectId;
user_collection.find({"_id":{$in: ["55efa50a6f002c766e8b4571", "56e9cc2d6f002ccf028b4567"]} })....
答案 1 :(得分:0)
尽量不要在查询中定义对象。将其作为另一个变量传递。
e.g:
var id1 = "55efa50a6f002c766e8b4571";
user_collection.find({"_id":{$in: [id1]} })
....