2014-09-01 68 views
0

想知道是否有一種快速方法來複制數據庫中已存在的文檔,並創建一個具有相同值的新文檔(當然_id和__v值除外)。使用Mongoosejs複製MongoDB文檔

我有一些工作,但它涉及到我從發現的文件分配每個領域的新文件。這並不理想,因爲如果模型中的「字段」數量增加,我還需要更改我的代碼。

因此,我用lodash去_extend這兩個文件,但後來我遇到了_id__v原始文件中包含的「字段」問題。

任何建議有效的方式做到這一點?

回答

0

可以使用_.omit lodash /下劃線方法複製對象,而不_id__v領域它做的事:

Test.findOne({_id: 123}, function(err, doc) { 
    Test.create(_.omit(doc.toObject(), ['_id', '__v']), callback); 
}); 
+0

有趣的 - 是在'_.omit'所需的回調? – tommyd456 2014-09-01 16:07:34

+0

@ tommyd456'callback'用於'create'調用,而不是'omit',並且是可選的。 – JohnnyHK 2014-09-01 16:10:33

+0

哦,是的 - 沒有發現。現在就進行測試。 – tommyd456 2014-09-01 16:11:43