2013-05-10 4 views
1

oids이 객체 ID의 배열 인 다음 쿼리가 있습니다. 사용자의 ID가 오브젝트 ID의 배열에있는 경우node.js의 MongoDB에 대한 쿼리를 찾으십시오.

users.find({ _id: { $in: oids } }, function(err, result){ 
    console.log(result); 
}); 

나는 사용자의 목록을 기대하지만, 실제 결과는 다음과 같습니다

{ db: { databaseName: 'users', serverConfig: { _callBackStore: [Object], host: 'localhost', port: 27017, options: [Object], internalMaster: true, connected: true, poolSize: 5, disableDriverBSONSizeCheck: false, slaveOk: undefined, _used: true, replicasetInstance: null, ssl: false, sslValidate: false, sslCA: null, sslCert: undefined, sslKey: undefined, sslPass: undefined, _readPreference: null, socketOptions: [Object], logger: [Object], eventHandlers: [Object], _serverState: 'connected', _state: [Object], recordQueryStats: false, db: [Circular], dbInstances: [Object], connectionPool: [Object], isMasterDoc: [Object] }, options: { w: 1 }, _applicationClosed: false, native_parser: undefined, bsonLib: { Code: [Function: Code], Symbol: [Function: Symbol], BSON: [Object], DBRef: [Function: DBRef], Binary: [Object], ObjectID: [Object], Long: [Object], Timestamp: [Object], Double: [Function: Double], MinKey: [Function: MinKey], MaxKey: [Function: MaxKey] }, bson: {} ... and so on ...

내가 user.findOne(...) 결과를 사용하는 경우 는 예상 사용자이지만 배열의 모든 사용자를 쿼리하고 싶습니다.

답변

1

find() 메서드는 커서를 반환하므로 '결과'는 모든 커서 세부 정보를 인쇄합니다. 나는 당신이 다음과 같이해야한다고 생각한다 :

collection.find().toArray(function(err, results) { 
    test.assertEquals(1, results.length); 
}); 
관련 문제