在mongodb中使用AND在同一个键上

时间:2013-05-13 08:01:46

标签: php mongodb

我的文档中有一个键,其结构如下:

"tag": [
    {
      "schemeName": "http:\/\/somesite.com\/categoryscheme2",
      "name": "Test Tag2",
      "value": 1,
      "slug": "test_tag2"
    },
    {
      "schemaName": "http:\/\/somesite.com\/categoryscheme3",
      "name": "Test Tag3",
      "value": 1,
      "slug": "test_tag3"
    }
  ]

现在,我得到的输入为tag=test_tag2ANDtest_tag3。我该如何为此编写查询? 我试图循环遍历循环,但我没有得到任何结果。

2 个答案:

答案 0 :(得分:1)

如果我错了,请纠正我,但您不需要$and$elemMatch,而是:

$mongodb->collection->find(array('tags.slug'=>array(
    '$in' => array('test_tag2','test_tag3'))))

但是,如果您的英语建议第二次阅读的内容,那么您也可以使用$all代替$in。这将确保所有根文档必须包含其中的slu。

答案 1 :(得分:0)

使用$elemMatch运算符来匹配数组中的元素。