如何在mongoDB中执行此查询?

时间:2012-06-26 01:58:52

标签: mongodb

如何在mongoDB中进行此查询?

  

{

     
    

_id:“*******”

         

内容:“”,

         

评论:[

         

{

         
      

key1:“1”,

             

key2:“2”

    
         

},

         

{

         
      

key1:“sdfs”,

             

key2:“sdfasdf”

    
         

}

         

  
     

}

例如,我使用如下数据。我想在条件{key1:1,key2:2}中查询注释中的项目,而不是返回整个记录。

我该怎么办?

2 个答案:

答案 0 :(得分:3)

你可以试试这个

{ "comments.key1" : "1", "comments.key2" : "sdfasdf" }

只有在数组元素中必须匹配多个字段时才需要使用它。

答案 1 :(得分:1)

您可以使用$elemMatch查询两个字段上的子文档:

{ comments: { $elemMatch : { key1: 1, key2: 2 } } }

You cannot return just the selected subdocument。你会得到所有这些。因此,您必须在客户端进行过滤。 (当然,您可以排除主文档的所有其他字段。)