![](/img/trans.png)
[英]How to update document in Mongodb collection with a field value from another collection
[英]How to remove a field from mongodb collection on update?
我知道如何從集合中刪除字段:
db.example.update({},{$unset: {field_to_del:1}},false,true)
但是我想在更新文檔時刪除長度為零的所有文檔字段。
我認為您可以采用以下兩種方法之一:
1)在您的應用程序中知道哪些字段已被刪除,並像在問題中一樣在更新時將其刪除。
2)將其編寫為批處理作業。 這可能滿足您的需要:強制刪除集合中任何文檔中的任何空字段(即,空字符串值)(在這種情況下為集合“ so”)
var updateEmptyField = function(o){
for (var f in o){
if (o[f] === ''){
eval ("db.so.update({},{$unset: {" + f + ":1}},false,true);");
}
}
}
db.so.find().forEach(updateEmptyField);
您需要在此處使用eval來使用包含字段名稱的變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.