2014-09-24 100 views
1

是否可以使用mgo來檢測我是使用新記錄還是舊記錄?去mgo新紀錄?

我的意思用Rails的ActiveRecord實現的一個例子:

object.new_record?

回答

0

顯然不是。在code of mgo

來看,我沒有看到任何「*saved*」的功能,相比ActiveRecord::Persistence.new_record? DOC:

返回true如果此對象尚未保存 - 也就是說,一個記錄該對象在數據存儲中尚不存在;否則,返回false。

我看到mgo

C:\Users\vonc\prog\git\mgo>gi saved 
gridfs.go:360:// SetChunkSize sets size of saved chunks. Once the file is written to, it 
gridfs.go:361:// will be split in blocks of that size and each block saved into an 
txn/txn.go:360:// Saved documents are in the format: 

,並尋找任何IsXxxx()不會產生任何相關(主要是IsMasterIsDup

+0

@DewyBroto不是完全由源代碼生成的文檔嗎? – VonC 2014-09-25 05:58:29

1

有新/舊紀錄氧化鎂沒有這樣的概念。就駕駛員而言,這只是你記憶中的數據。您可以將數據從數據庫加載到內存中的值,多個內存中的值中,並且可以將其保存回來,使用相同的ID或不同的ID,甚至可以將其保存到一個完全不同的數據庫中不同的會議。司機只會做被要求做的事。

應用程序可以通過在結構中添加一個字段並根據需要進行設置來實現自己的new/old概念。使該字段未導出或使用字段標記bson:"-"來防止mgo存儲該字段。

如果應用程序始終依賴數據庫來分配文檔ID,則應用程序可以檢查ID字段以確定文檔是新的還是舊的。