2013-03-09 18 views
0

有了這樣的模式,其中「項目」區域中包含的子文檔與嵌套翻譯的數組:從項目「5137407f5b51ea100f000000」如何從嵌套在數組中的子文檔中獲取翻譯?

{ 
     "_id" : ObjectId("513740415b51ea0803000001"), 
     "items" : [ 
       { 
         "id" : ObjectId("5137407f5b51ea100f000000"), 
         "title" : { 
           "en" : "Yes", 
           "fr" : "Oui", 
           "es" : "Si" 
         } 
       }, 
       { 
         "id" : ObjectId("5137407f5b51ea100f000003"), 
         "title" : { 
           "en" : "No" 
         } 
       } 

     ], 
} 

你將如何獲取英語(「EN」)的翻譯?

結果應返回「是」。

回答

0

在shell這將是:

db.test.findOne(
    {'items.id': ObjectId("5137407f5b51ea100f000000")}, 
    {'items.$': 1} 
).items[0].title.en 
+0

真棒,我不知道我可以追加「.items [0] .title.en」在查詢結束。 – boblapointe 2013-03-09 16:14:39

+0

@JohnnyForgetJr:別忘了'findOne()'的返回類型 – 2013-04-10 12:56:08

相關問題