此文档位于我的数据库中(从mongo cl客户端复制):
{
"_id" : ObjectId("52d14a3c10df410253000000"),
"content" : "U2FsdGVkX1/rU5DJTu/VYGCGxV1lHhhs1l2b3LZJXBQ=\n",
"content" : "U2FsdGVkX1/rU5DJTu/VYGCGxV1lHhhs1l2b3LZJXBQ=\n",
"created_at" : ISODate("2014-01-11T14:19:09.840Z"),
"updated_at" : ISODate("2014-02-23T16:38:48.283Z"),
"user_id" : ObjectId("51cd7edb25bbe84f67000001")
}
“content”字段以某种方式保存两次。怎么会发生这种情况,以后如何防止它?
我使用Mongoid 4.0.0.beta1和MongoDB 2.4.9。
答案 0 :(得分:1)
问题必须在您的客户端。本机mongo在一个文档中支持具有相同名称的字段,但根据文档,它永远不会向现有文档添加重复字段。
BSON文档可能有多个具有相同名称的字段。最 但是,MongoDB接口代表具有结构的MongoDB(例如, 哈希表),不支持重复的字段名称。如果你需要 操纵具有多个具有相同字段的文档 名称,请参阅驱动程序的驱动程序文档。
内部MongoDB进程创建的一些文档可能有 重复字段,但没有MongoDB进程会添加重复 字段到现有用户文档。
希望它有所帮助!