2013-03-12 88 views
1

我試圖從節點找到一個mongodb服務器。下面是代碼:MongoDB(Node.js)找不到預期的結果

var mongo = require('mongodb'), 
    Server = mongo.Server, 
    Db = mongo.Db; 
var mongoServer = new Server(10.141.74.74, 28019,{auto_reconnect: true, safe:true}); 
var db = new Db("statusReport", mongoServer, {safe:true}); 

db.open(function(err,db){ 
     if(!err){ 
      db.collection("status",function(err,collection){ 
       if(!err){ 
        collection.find({}, function(a,b){ 
         console.log(a); 
         console.log(b); 
        }); 
       }else{ 
        console.log("ERROR: could not open collection"); 
       } 
      }); 
      db.close(); 
     }else{ 
      console.log("ERROR: could not open database"); 
     } 
    }); 

然而,不是將數據返回它返回這樣的:

{ db: 
    { domain: null, 
    _events: { open: [] }, 
    _maxListeners: 10, 
    databaseName: 'statusReport', 
    serverConfig: 
     { domain: null, 
     _events: null, 
     _maxListeners: 10, 
     host: '10.141.74.74', 
     port: 28019, 
     options: [Object], 
     internalMaster: true, 
     connected: true, 
     poolSize: 5, 
     disableDriverBSONSizeCheck: false, 
     ssl: false, 
     slaveOk: undefined, 
     _used: true, 
     _readPreference: null, 
     socketOptions: [Object], 
     logger: [Object], 
     eventHandlers: [Object], 
     _serverState: 'connected', 
     _state: [Object], 
     recordQueryStats: false, 
     dbInstance: [Circular], 
     dbInstances: [Object], 
     connectionPool: [Object], 
     isMasterDoc: [Object] }, 
    options: { safe: true }, 
    _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: {}, 
    bson_deserializer: 
     { 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_serializer: 
     { 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] }, 
    _state: 'connected', 
    pkFactory: 
     { [Function: ObjectID] 
     index: 0, 
     createPk: [Function: createPk], 
     createFromTime: [Function: createFromTime], 
     createFromHexString: [Function: createFromHexString] }, 
    forceServerObjectId: false, 
    safe: true, 
    notReplied: {}, 
    isInitializing: true, 
    auths: [], 
    openCalled: true, 
    commands: [], 
    _callBackStore: { domain: null, _events: {}, _maxListeners: 10, _notReplied: {} }, 
    logger: { error: [Function], log: [Function], debug: [Function] }, 
    slaveOk: false, 
    tag: 1363118044637, 
    eventHandlers: 
     { error: [], 
     parseError: [], 
     poolReady: [], 
     message: [], 
     close: [] }, 
    serializeFunctions: false, 
    raw: false, 
    recordQueryStats: false, 
    reaperEnabled: false, 
    _lastReaperTimestamp: 1363118044637, 
    retryMiliSeconds: 1000, 
    numberOfRetries: 60, 
    reaperInterval: 10000, 
    reaperTimeout: 30000, 
    readPreference: undefined }, 
    collection: 
    { db: 
     { domain: null, 
     _events: [Object], 
     _maxListeners: 10, 
     databaseName: 'statusReport', 
     serverConfig: [Object], 
     options: [Object], 
     _applicationClosed: false, 
     native_parser: undefined, 
     bsonLib: [Object], 
     bson: {}, 
     bson_deserializer: [Object], 
     bson_serializer: [Object], 
     _state: 'connected', 
     pkFactory: [Object], 
     forceServerObjectId: false, 
     safe: true, 
     notReplied: {}, 
     isInitializing: true, 
     auths: [], 
     openCalled: true, 
     commands: [], 
     _callBackStore: [Object], 
     logger: [Object], 
     slaveOk: false, 
     tag: 1363118044637, 
     eventHandlers: [Object], 
     serializeFunctions: false, 
     raw: false, 
     recordQueryStats: false, 
     reaperEnabled: false, 
     _lastReaperTimestamp: 1363118044637, 
     retryMiliSeconds: 1000, 
     numberOfRetries: 60, 
     reaperInterval: 10000, 
     reaperTimeout: 30000, 
     readPreference: undefined }, 
    collectionName: 'status', 
    internalHint: null, 
    opts: {}, 
    slaveOk: false, 
    serializeFunctions: false, 
    raw: false, 
    readPreference: 'primary', 
    pkFactory: 
     { [Function: ObjectID] 
     index: 0, 
     createPk: [Function: createPk], 
     createFromTime: [Function: createFromTime], 
     createFromHexString: [Function: createFromHexString] } }, 
    selector: {}, 
    fields: undefined, 
    skipValue: 0, 
    limitValue: 0, 
    sortValue: undefined, 
    hint: null, 
    explainValue: undefined, 
    snapshot: undefined, 
    timeout: true, 
    tailable: undefined, 
    awaitdata: undefined, 
    numberOfRetries: 5, 
    currentNumberOfRetries: 5, 
    batchSizeValue: 0, 
    slaveOk: false, 
    raw: false, 
    read: 'primary', 
    returnKey: undefined, 
    maxScan: undefined, 
    min: undefined, 
    max: undefined, 
    showDiskLoc: undefined, 
    comment: undefined, 
    tailableRetryInterval: 100, 
    exhaust: false, 
    partial: false, 
    totalNumberOfRecords: 0, 
    items: [], 
    cursorId: { _bsontype: 'Long', low_: 0, high_: 0 }, 
    dbName: undefined, 
    state: 0, 
    queryRun: false, 
    getMoreTimer: false, 
    collectionName: 'statusReport.status' } 

我知道有東西在裏面,因爲我可以用它看MongoHub。我也可以在那裏查詢它。這裏有什麼問題?

我也試過在做collection.insert(這裏有一些數據)和插入作品。只是找到沒有。

+0

嘗試console.log(參數),然後給我們一個你得到的鏈接。可能有更多的論點...... – gustavohenke 2013-03-12 20:35:09

+0

你指的是什麼論點? – PCoelho 2013-03-12 20:37:07

+1

你應該看看mongoosejs。使用Mongodb真的很不錯。 – 2013-03-12 21:28:33

回答

4

collection.find(callback)返回光標,而不是文檔。你想這樣做:

collection.find().toArray(callback) 
+0

好的。如果同樣的問題無法弄清楚發生了什麼。 – voicestreams 2013-06-03 14:12:35