2013-03-08 66 views
1

我需要從MongoDB返回一個JSON數據。我使用Ruby作爲我的後端。對於客戶端,我需要提供一個data_version字符串,以便他們知道數據是否已更改,以決定是否同步或從其存儲加載。在MongoDB中跟蹤數據版本

有沒有辦法自動增加它?還是有什麼好的做法?

回答

1

當你使用MongoDB時,你可以添加時間戳到你的文檔。這增加了兩個字段:created_atupdated_at。您可以使用updated_at字段的值來執行您想要的操作。

+0

嗯,這是一個很好的想法。我甚至可以從BSON :: ObjectId中提取。但是,如果我有一個大集合,而且我只想快速查找它的整體變化,或者它是什麼版本? – Dmitry 2013-03-08 14:23:22

+0

@DmitryKharlamov然後你的「版本」不會被鏈接到一個文件(否則這將是一個巨大的空間浪費)。你可以通過'updated_at'命令查詢你的集合來查找最新的更新(按降序排列),然後得到最後一次更新,就像那樣... – alestanis 2013-03-08 14:25:57

+0

是的,這正是我想要的 - 不要將它鏈接到單個文檔,而是指出整個數據集何時發生變化,並且您的意見非常有幫助!謝謝! – Dmitry 2013-03-10 21:23:07