2015-08-09 64 views

回答

3

在你的情況下,它沒有區別。這是因爲您在第二行添加了limit(1)

但是,如果您將其刪除並只使用ps = cursor.sort({"priority" : -1}).next();,這仍然會返回您只有一個元素,並將光標移到下一個元素。因此,當您再次運行相同的查詢ps = cur...時,它將返回下一個元素。這將繼續下去,直到你將耗盡光標,你會得到像error hasNext: false(或你的光標會超時,等待幾分鐘而不觸及它,它會超時)。

另一方面,如果您將運行ps = cursor.sort({"priority" : -1}),您將獲得所有結果(實際上爲DBQuery.shellBatchSize)。由 db.collection.find()方法返回光標的下一個文件:

瞭解更多關於next here:

回報。

相關問題