MongoDB双键

时间:2014-02-23 17:04:21

标签: mongodb mongoid

此文档位于我的数据库中(从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。

1 个答案:

答案 0 :(得分:1)

问题必须在您的客户端。本机mongo在一个文档中支持具有相同名称的字段,但根据文档,它永远不会向现有文档添加重复字段。

  

BSON文档可能有多个具有相同名称的字段。最   但是,MongoDB接口代表具有结构的MongoDB(例如,   哈希表),不支持重复的字段名称。如果你需要   操纵具有多个具有相同字段的文档   名称,请参阅驱动程序的驱动程序文档。

     

内部MongoDB进程创建的一些文档可能有   重复字段,但没有MongoDB进程会添加重复   字段到现有用户文档。

希望它有所帮助!