2
我在我的基於Mongoid的類中包含了Mongoid :: Versioning模塊。檢查文檔的以前版本或化身的最佳方法是什麼?我希望能夠看到它的歷史。這可以通過rails console
或MongoDB shell。什麼是查看文檔歷史記錄最簡單的方法?Mongoid ::版本控制 - 如何檢查以前的版本?
我在我的基於Mongoid的類中包含了Mongoid :: Versioning模塊。檢查文檔的以前版本或化身的最佳方法是什麼?我希望能夠看到它的歷史。這可以通過rails console
或MongoDB shell。什麼是查看文檔歷史記錄最簡單的方法?Mongoid ::版本控制 - 如何檢查以前的版本?
Mongoid :: Versioning模塊將一個名爲Integer類型的字段添加到文檔中,該字段記錄當前文檔的版本,從1開始,直到最大(如果已定義)。此外,您將擁有將要創建的嵌入式文檔「版本」。然後有一個before_save回調,它負責爲你提供版本控制。
一般我會建議一個最大值,但這取決於你。在如何在他們得到條款,但你也沒有舉一個例子文件,讓我們一起去一個很簡單的文章爲例:
#Make an empty post, just a title, version 1
post = Post.create(:title => "Hello World")
# Now add some "content" and save, version 2
post.content = "Woo - content"
post.save
這將會給我們的文件是這樣的:
{
"title": "Hello World",
"content": "Woo - content",
"comments": [
]
"version": 2
"versions": [
{ "title": "Hello World", "version": 1 }
]
}
現在,你只需要使用標準查找機制來得到它:
post = Post.find(:first, :conditions => {:title => "Hello World"})
下載最新版本出來的那個,然後你可以以編程方式搜索以前的版本。我會發布輸出,但我目前沒有設置示例。
類似地,如果您希望通過shell執行操作,則只需根據標題,版本字段運行db.namespace.find()。
希望這是有道理的。