MONGODB - 添加具有不同值的重复字段

时间:2017-09-08 17:14:16

标签: mongodb duplicates

有没有办法通过添加具有不同值的重复字段来编写更新文档的脚本?我不能使用set取代现有的值。我不能使用push,因为字段在对象中,而不是数组。我甚至尝试使用不同的名称创建新字段并重命名它也替换现有字段。

2 个答案:

答案 0 :(得分:0)

Mongo记录中不能包含重复字段。 Mongo集合是文档的集合,也称为对象。您不能在对象中有重复的字段,Mongo也不例外。

答案 1 :(得分:0)

MongoDB(以及我到目前为止遇到的任何其他数据库)都围绕着这样的想法构建,即单个字段是可识别的,因此它们可以被过滤,分组,排序等等。这也解释了为什么MongoDB会这样做不支持您所面临的情景。话虽这么说,MongoDB可以用作任意JSON数据的哑数据存储。并且JSON规范没有说明重复的字段名称,这可能就是为什么你可以在MongoDB中实际存储这样的文档的原因。

无论如何,如果不加载整个文档,更改它(通过添加重复的字段)然后替换整个文档,就无法实现您想要的效果。但是,这将有效。

我个人无法想到这种文件可能有意义的合理情况。所以我强烈建议你重新审视你的文档结构。