2014-11-08 89 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