2014-07-03 29 views
0

有沒有辦法告訴MongoClient有一些屬性我不想存儲?例如,我有一些循環依賴的屬性無法序列化 - 這會導致一些問題。我寧願不必在每次保存它們之前都將它們設置爲null,然後在插入完成時重新設置這些變量。mongodb /節點 - 忽略某些對象屬性

回答

1

執行此操作的一種方法是使用下劃線(或lodash)庫的omit方法的一點幫助。這將乾淨地創建您的對象的副本,而沒有問題的屬性。

var objectToInsert = _.omit(fullObject, 'badField1', 'badField2'); 
collection.insert(objectToInsert, callback); 

另一種方式去是使用Mongoose它可以讓你定義的模式爲您的藏品,這樣只有在架構這些領域在保存時獲得包括在內。

+0

很棒的建議。在這裏,我一直在努力尋找一種方法來與mongo做到這一點,我應該看看我的依賴關係。 – Seiyria