2016-05-16 74 views
0

我需要排名前10的記錄,但不排序。 我可以使用.sort('-timestamp').limit(10)但我不想分類,我只是需要它。貓鼬限制TOP 10沒有排序

是否有任何其他方式,而不是每次請求時都反轉數組?

+0

做你嘗試沒有的.sort(),只需使用.limit(10) –

+0

@AnkurSoni,是的,但話,就說明第10位,我想過去的10,在他們來到的順序。 –

回答

1

您可以使用下面的查詢來查找它們出現的最後10條記錄(自然順序)。

db.collection.find().skip(db.collection.count() - 10) 

只要確保以下兩個條件( 'ñ' 是沒有記錄的,你想獲取。):

  1. 如果(collection.count()< N):那麼你將面臨以下錯誤

    error: { 
        "$err" : "Can't canonicalize query: BadValue bad skip value in query", 
        "code" : 17287 
    } 
    
  2. IF((collection.cou nt()== N):查詢與collection.find()一樣好,因爲它跳過0個元素並顯示所有文檔。