dtnat80842 2018-08-14 15:29
浏览 68
已采纳

实体数组/ PHP / MongoDB / Symfony

Simple question :

I am using mongoDB, Symfony 3.4, and the DoctrineMongoDBBundle. How can I create a value in an mongoDB entity that is an array of entities

For example : Have a conversation entity with a value message in it that is an array of entities message

Example in json :

{
    "id_of_the_conversation": 367,
    "messages": [
        {
            "id": 1,
            "content": "Hello i need help !",
            "send_by": 34,
            "received_by": 22
        }
        {
            "id": 2,
            "content": "Stack stack",
            "send_by": 22,
            "received_by": 34
        }
        {
            "id": 3,
            "content": "Maybe someone ?",
            "send_by": 34,
            "received_by": 22
        }
    ],
}
  • 写回答

2条回答 默认 最新

  • dqhbuwrwq692118284 2018-08-17 13:56
    关注

    I can't add comment on another post so I make my own post.

    What @iiirxs said is right.

    You hav to do the 2 Document Classes and Make annotation like you want.

    If you want the Messages to have their own Collection, you annotate with ReferenceMany. If you want the the Messages inside the COnversation Document, you make an EmbedMany

    Embed Docs

    References Docs

    Then, you just have to set or add Messages in the Collection messages property of Conversation class.

    When you save, all documents (Conversion AND Message of you Reference, only Conversation whit Message in it if you embed) will be saved.

    From you original question, it seems you want to Embed.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?