2015-05-19 63 views
2

我在mongoDB中有一個集合「collection_Save」,其中包含文檔 ,用於保存在其他集合中的其他文檔上發生的操作。它們按照創建順序在數據庫中列出。 爲了扭轉這些操作,我需要從頭到尾地貫穿整個集合。以反向模式運行MongoDB集合

這是我無法弄清楚如何去做的地方。由於MongoCollection沒有相應的「反向」方法。

我嘗試使用下面的代碼

collection_Save.CreateIndex(IndexKeys<SaveMongo>.Ascending(_ => _._id)); 

創建索引,但我無法弄清楚如何使用它(或者,如果它是在我的情況真的有用)。

我沒有找到的東西,可能是有用的:MongoRestore, skip n first documents

但是他們沒有工作在C#和我的低信譽阻止我評論的帖子。

你知道如何在「反向模式」下運行一個集合嗎?

+0

什麼是您想要排序的字段? – bagrat

+0

我真的不想分類我的文檔。我只想訪問最後創建的文檔中的所有字段,然後是最後1個文檔,然後是最後2個文檔,依此類推,直到我有權訪問第一個文檔中的字段。 – NicolasR

+0

你想訪問**每個查詢**文件嗎? – bagrat

回答

0

date場只需創建一個索引是這樣的:

db.collection_Save.createIndex({date: -1}) 

,那麼你可以查詢您的收藏這樣:

db.collection_Save.find().sort({date: -1}).skip(last_n).limit(1) 

其中last_n是數字(從開始計算)你想要得到的文件。

+0

什麼是「時間戳」字段,我沒有任何在我的文檔中(我有一個「DateTime日期」的創建日期全部) – NicolasR

+0

我的意思是包含創建時間的字段。更新了答案。 – bagrat

+0

Visual Studio在語法「createIndex({date:-1})中指出錯誤:」當我傳遞「({date」部分和「只有一個賦值,增量,一個遞減,一個期望和一個對象表達式可以用作指令「當我通過」-1「部分 – NicolasR