「從調用populate返回的文檔變成功能齊全,可移除,可保存的文檔。不要將它們與嵌入式文檔混淆。調用remove方法時要小心,因爲您將刪除它來自數據庫,而不僅僅是陣列。「Mongoose.js Doc Refs - 如何安全地刪除
我發現有點可怕 - 你如何在不刪除所述文檔的情況下安全地取消對貓鼬文檔中文檔的引用?
「從調用populate返回的文檔變成功能齊全,可移除,可保存的文檔。不要將它們與嵌入式文檔混淆。調用remove方法時要小心,因爲您將刪除它來自數據庫,而不僅僅是陣列。「Mongoose.js Doc Refs - 如何安全地刪除
我發現有點可怕 - 你如何在不刪除所述文檔的情況下安全地取消對貓鼬文檔中文檔的引用?
不太清楚你想要做什麼。您可以在Mongoose文檔上調用toObject()
來生成文檔的普通JavaScript對象表示,該文檔可以安全地傳遞和修改,而不必擔心意外更改了數據庫。
我也對此感興趣,因爲我得到的意思是從已填充數組中刪除一個項目,而不從原始集合中刪除此項目,從中收集此數組。例如,我想存儲特定文檔的參考,並且由於我在某個時候需要填充它。現在我的參考被填充,如果生病從它的填充數組中刪除一些東西,並保存我將最終刪除原來的人口捐助者陣列的東西。它似乎刪除/更新意味着用於人口稀少的狀態,但是,如果使用人口 - 我需要永遠使用finOne,如果我想編輯文檔。 –
參考我的意思是一個簡單的變量。如'var reference;' 'Users.findOne(.... functuon(err,founduser){reference = founduser})' 然後如果我可以說要添加一些東西,填充它併發送我的引用成爲人口稠密,我將無法刪除數組中的'人口的鏈接'的OE,因爲它是填充的,這樣的嘗試將刪除不是鏈接,而是從數據庫鏈接的項目。 也許我只是不明白的東西,但似乎沒有辦法在變量中存儲文檔參考,並與人口一起工作。 –
@MaxYari只要你沒有對填充的文檔調用'remove()'方法,就可以從數組中刪除沒有副作用的文檔。如果您需要更多幫助,請繼續併發布新問題。 – JohnnyHK
我也很好奇。假設我有一個包含一系列用戶文檔的「朋友」數組。如何在不實際刪除用戶的情況下取消鏈接文檔? – bento