我是Mongodb的新手。所以请指导我这个问题。我有一组文档,并希望从集合中删除不必要的字段。有自动化方法吗?我知道我可以使用 $ unset 但似乎我想要删除许多字段然后我必须为每个字段重复此操作我是对的吗?我发现我可以根据this使用ruby来做到这一点,但是除了一些字段之外,不是删除所有字段呢?
答案 0 :(得分:1)
使用$unset
,您可以一次删除(任意)多个字段。与多重更新一起,您将获得类似自动化方法的内容。因此,要仅删除某些字段,请考虑此示例doc:{_id:OID, a: { b: 2, c: 3}, d : [1,2]}
您可以使用此:$unset : {"a.b" : 1, d : 1}
删除a中的嵌套元素b,以及数组d。
如果您只想删除数组中的某些项目,我相信您必须使用positional operator,但我没有使用它。