2014-11-08 88 views
0

我必須俯瞰很簡單,這裏是我的數據庫的一個樣本:只使用限制結果發現()查詢不能

{ "_id" : ObjectId("545e7e45a69b6c5c0caeafcc"), "url" : "http://example.com/id=4314936", "name" : "product1", "retailer" : "123", "extra" : [ ], "timestamp" : 1415478797263, "processed" : 0 } 
{ "_id" : ObjectId("545e7e45a69b6c5c0caeafcc"), "url" : "http://example.com/id=4314936", "name" : "product2", "retailer" : "123", "extra" : [ ], "timestamp" : 1415478797263, "processed" : 0 } 
{ "_id" : ObjectId("545e7e45a69b6c5c0caeafcc"), "url" : "http://example.com/id=4314936", "name" : "product3", "retailer" : "123", "extra" : [ ], "timestamp" : 1415478797263, "processed" : 0 } 
{ "_id" : ObjectId("545e7e45a69b6c5c0caeafcc"), "url" : "http://example.com/id=4314936", "name" : "product3", "retailer" : "123", "extra" : [ ], "timestamp" : 1415478797263, "processed" : 0 } 

我試圖讓2分的結果:

db.products.find({timestamp:1415478797263,processed:0},{},{limit:2}) 

我已閱讀並嘗試類似的問題堆棧溢出,所以請記住之前記住重複。

無論我嘗試什麼,它給了我全套...最奇怪的是,我在其他地方使用類似的find(),它的工作原理。有經驗的一雙眼睛應該能夠發現問題,提前致謝!

回答

1

使用此查詢,它工作嗎?

db.products.find({timestamp:1415478797263,processed:0}).limit(2) 

現在用它與節點JS本地驅動程序,你可以做到這一點

 db.products.find({timestamp:1415478797263,processed:0}).limit(2).each(function(err, doc) { 

     console.dir(doc); 
    }); 

或陣列形成,你可以得到這個作爲

db.products.find({timestamp:1415478797263,processed:0}).limit(2).toArray(function(err, docs)   {    
     console.log("Returned #" + docs.length + " documents"); 
    })  
+0

是的,它的作品!現在我要了解如何在節點本機驅動程序中翻譯它。 – xShirase 2014-11-08 21:02:20

+0

所以我應該爲你編輯它? – 2014-11-08 21:02:48

+0

@xhihirase編輯節點驅動程序 – 2014-11-08 21:06:08