1
我知道如何从集合中删除字段:如何在更新时从mongodb集合中删除字段?
db.example.update({},{$unset: {field_to_del:1}},false,true)
但我想删除所有文档字段,其中长度为零更新文档时。
我知道如何从集合中删除字段:如何在更新时从mongodb集合中删除字段?
db.example.update({},{$unset: {field_to_del:1}},false,true)
但我想删除所有文档字段,其中长度为零更新文档时。
我想你可能接近这个两种方式:
1)知道你的应用程序哪些字段已被删除,并删除他们在更新,你在你的问题做。
2)将其编写为批处理作业。这大概做了你需要的东西:它强行删除任何空字段(即空字符串值)的任何文件集合中(集合“因此”在这种情况下)
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这里使用包含字段名称的变量。
用户编辑theres配置文件。并且当他们清除一些配置文件字段(例如icq数字)并保存时,同时我想要文件字段不仅仅是空的(sting长度为0),而是从文档中退出。 – Klimashkin