0

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

"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. 我该如何为此编写查询?我试图遍历循环,但没有得到任何结果。

4

2 回答 2

1

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

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

但是,如果您的英语提示第二次阅读的作用,则应该可以使用,那么您也可以$all使用$in. 这将确保所有根文档中都必须包含这些 slug。

于 2013-05-13T09:57:00.590 回答
0

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

于 2013-05-13T08:20:00.940 回答