2016-09-26 13 views
-2

mongodbコレクション内の配列から値を取得しようとしています。MongoDB/Twigの正しい配列エントリの正しい値を取得してください

マイデシベルエントリは次のようになります。私は最初page : "page1"を一致させたい

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

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

、その後、「ID」に基づいて「エントリ」配列の右のエントリを見つけ、そのエントリの「コンテンツ」を表示します。

私が試した:{% set rightentry = mydb.find({page : "page1", id : "id1" }) %}

{{rightentry.content}} 

それは私に何かをお返ししません。

答えて

1

MongoDBからクエリに一致するサブ文書のみを直接取得することはできません。

{% set document = mydb.find({page:"page1", "entries.id":"id1"}) %} 
{% for entry in document.entries %} 
    {% if entry.id === "id1" %} 
     {# display contents #} 
    {% endif %} 
{% endfor %} 
を:あなたが一致するものを見つけるためにあなたの検索された文書で返され entriesを反復処理したいと思う

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

これにより、望ましい結果が得られます。

関連する問題