美好的一天。我想從文檔中刪除除了某個列表以外的所有字段。我知道$ unset運算符,但我不知道如何在我的任務中使用它。先謝謝你。如何從文檔中刪除除了某個列表以外的所有字段? (mongoDB)
0
A
回答
0
db.products.update(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)
上述查詢將從sku未知的所有產品文檔中刪除數量和庫位。
,你可以在上面的例子中的線寫您的查詢,但如果 你只是想從每一個文檔中刪除幾個字段只是忽略 條件部分,即SKU:「未知」,而不是通過{}和它會 影響集合中的每個文檔。
+0
謝謝,但我想刪除除了一些列表以外的所有字段。我只有我想要保留的字段列表,以及我想要刪除的所有其他字段。 – Nesh
+0
所以你的意思是相反的。好吧,我會試圖找出一個可以幫助你的查詢。 –
有一個答案在這裏有關列出所有的唯一鍵集合中:http://stackoverflow.com/questions/2298870/mongodb-get-names-of-all-keys-in-collection那麼你可以您可以刪除不想從列表中刪除的所有密鑰。然後循環並取消每個文檔中不需要的鍵。 – axlj
我以爲mongo有一些操作符(如$ unset),它通過一個沒有循環的請求來刪除這個字段。但我認爲這會對我有幫助。謝謝=) – Nesh