2014-03-12 99 views
2

我有這個疑問在MongoDB中MongoDB的查詢返回NULL,但.toArray返回數據

var query = { "_id": new ObjectID(id)}; 
var items = {items:1}; 

warehouses.find(query, items,function (error, docs) { 
    if (error) { 
     error(error); 
     return; 
    } 


    success(docs); 
}); 

我想_id獲取某個文件的項目。這回我docs.items =未定義

但是當我做:

warehouses.find(query, items).toArray(function (error, docs) { 
      if (error) { 
       error(error); 
       return; 
      } 


      success(docs); 
    }); 

返回我的數據:

0: Object 
_id: ObjectID 
items: Array[3] 
0: Object 
1: Object 
2: Object 
length: 3 

我怎樣才能獲得與第一查詢的數據?我想要類似

回答

4

還有一個區別。如果你只希望一個結果,如由_id搜索,然後使用.findOne()

warehouses.findOne(query, items, function (error, doc) { 

否則,你返回Cursor()對象。至少在原生驅動程序中以及在ODM中以某種形式或其他形式。

+0

好吧,這是rigth – colymore