Doctrine + Mongo: Как определить идентификатор, который отображается на внедренный документ в монго? - PullRequest
0 голосов
/ 22 декабря 2011

Вывод карты Монго / уменьшение сохраняется в БД как:

{{_id: {"groupby1": "field1", "groupby2": "Field2"}, значение: {"valuefield1": "value1", "valuefield2": "value2"}}}

В документе доктрины, как мы можем определить поле id для сопоставления со встроенным документом?

Если я определю его как коллекцию или EmbedOne,

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

Doctrine генерирует исключение, говорящее о том, что документ не имеет идентификатора или первичного ключа "Каждый документ должен иметь идентификатор / первичный ключ "

. Если я определю его как id, то сбой будет при указателе Mongo, который пытается загрузить массив в скалярное поле.

Есть какие-нибудь указатели на то, как это решить?

Спасибо!

1 Ответ

0 голосов
/ 22 декабря 2011

Похоже, вы устанавливаете пользовательский идентификатор в поле _id, проще всего использовать значения по умолчанию и сохранять поля groupby в качестве ключей в документе:

{
    _id: ObjectId("xxx")
    "groupby": [
        "field1",
        "field2"
    ],
    "value": [
        "value1",
        "value2"
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...