Doctrine + Mongo:如何定义一个映射到mongo中嵌入文档的id?

时间:2011-12-22 08:37:59

标签: mongodb doctrine

Mongo Map / reduce的输出存储在db中:

  

{          {_id:{“groupby1”:“field1”,“groupby2”:“Field2”},              值:{“valuefield1”:“value1”,“valuefield2”:“value2”}          }      }

在学说文档中,我们如何定义要映射到嵌入文档的id字段?

如果我将其定义为集合或EmbedOne

/** * @MongoDB\EmbedOne ,(target="Articles\Id", strategy='none')
*/

Doctrine生成一个例外,说该文档没有id或主键“Every Document必须有一个标识符/主键”

如果我将其定义为id,则失败发生在Mongo游标上,该游标试图将数组加载到标量字段。

有关如何解决此问题的任何指示?

谢谢!

1 个答案:

答案 0 :(得分:0)

您似乎在_id字段中设置自定义ID,最简单的方法是使用默认值并将groupby字段存储为文档中的键:

{
    _id: ObjectId("xxx")
    "groupby": [
        "field1",
        "field2"
    ],
    "value": [
        "value1",
        "value2"
    ]
}