簡體   English   中英

collection.find({})不會在nodejs中返回集合記錄

[英]collection.find({ }) does not return collection records in nodejs

我正在嘗試使用collection.find從集合中獲取所有記錄

var DTX = mongoose.models.dtx;
var detx = DTX.find({});

但是當我console.log(detx) ,它給了我下面的響應:

{ _mongooseOptions: {},
  mongooseCollection: 
   { collection: 
      { db: [Object],
        collectionName: 'dtx',
        internalHint: null,
        opts: {},
        slaveOk: false,
        serializeFunctions: false,
        raw: false,
        pkFactory: [Object],
        serverCapabilities: undefined },
     opts: { bufferCommands: true, capped: false },
     name: 'ddtx',
     conn: 
      { base: [Object],
        collections: [Object],
        models: [Object],
        replica: false,
        hosts: null,
        host: 'localhost',
        port: 27017,
        user: undefined,
        pass: undefined,
        name: 't23',
        options: [Object],
        otherDbs: [],
        _readyState: 1,
        _closeCalled: false,
        _hasOpened: true,
        _listening: true,
        _events: [Object],
        db: [Object] },
     queue: [],
     buffer: false },
  model: 
   { [Function: model]
     base: 
      { connections: [Object],
        plugins: [],
        models: [Object],
        modelSchemas: [Object],
        options: [Object],
        dbConnected: true },
     modelName: 'dtx',
     model: [Function: model],
     .....
    }
     .....  
   }
     .....
}

我讀了幾篇文章,然后才意識到在nodejs這會返回cursor 然后我嘗試如下:

var detx=DTX.find({},function(err,cursor){
            cursor.each(err,item){
              return item;
            });
         });

這也沒有幫助。 我將如何在沒有任何條件的情況下從集合中獲取所有記錄作為array

嘗試這個。

var DTX = mongoose.models.dtx;
var detx = [];
DTX.find({})
   .exec(function (err, dtxArray) {

      if (err) 
         console.log(err);

      console.log('DTX Array: ', dtxArray);

      detx = dtxArray;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM