根据字段名称

时间:2017-04-18 13:41:49

标签: mongodb field

我有一个包含邮政编码的人口统计数据的集合。每个年龄组有6列:

  • Total; Estimate; AGE # - #
  • Total; Margin of Error; AGE # - #
  • Male; Estimate; AGE # - #
  • Male; Margin of Error; AGE # - #
  • Female; Estimate; AGE # - #
  • Female; Margin of Error; AGE # - #

大约有10个年龄组,因此有60个领域。还有超过33,000个文档(33,000+个zipcodes)。所以有很多数据。有没有办法使用类似SQL的“喜欢”删除所有错误列的边距?比如删除任何字段“%Margin%”。

2 个答案:

答案 0 :(得分:2)

不,但您可以按照MongoDB Get names of all keys in collection中的说明获取所有字段的列表,有条件地发出符合条件的字段,并将结果迭代到$unset每个匹配的字段。

答案 1 :(得分:0)

所以我做了doc = db.AgeSex.findOne();来获取所有列。
然后我做了:

for(key in doc){
    if(key.includes("Margin")){
        db.AgeSex.update({},{$unset:{ (""+key):""}});
    }
};



我得到SyntaxError: invalid property id