从MongoDB / Twig中的正确数组条目中获取正确的值

时间:2016-09-26 15:37:21

标签: arrays mongodb symfony twig

我试图从mongodb集合中的数组中获取值。

我的数据库条目如下:

_id : "somerandomid"
page : "page1"
entries : [ {
            id : "id1"
            entry : "content"
           }

           {
            id : "id2"
            entry : "content2"
           } ] 

我想首先匹配page : "page1",然后在'条目中找到正确的条目。基于' id'的数组,然后显示'内容'那条目。

我试过了:{% set rightentry = mydb.find({page : "page1", id : "id1" }) %}

{{rightentry.content}}

但这并没有给我任何回报。

2 个答案:

答案 0 :(得分:2)

db.page.find({page:"page1", "entries.id":"id1"})

这将带来预期的结果。

答案 1 :(得分:1)

您将无法直接从MongoDB检索与您的查询匹配的子文档。

您希望迭代与检索到的文档一起返回的entries以找到匹配的文档:

{% set document = mydb.find({page:"page1", "entries.id":"id1"}) %}
{% for entry in document.entries %}
    {% if entry.id === "id1" %}
        {# display contents #}
    {% endif %}
{% endfor %}