我试图从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}}
但这并没有给我任何回报。
答案 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 %}