我的文档中有一个键,其结构如下:
"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
。我该如何为此编写查询?
我试图循环遍历循环,但我没有得到任何结果。
答案 0 :(得分:1)
如果我错了,请纠正我,但您不需要$and
或$elemMatch
,而是:
$mongodb->collection->find(array('tags.slug'=>array(
'$in' => array('test_tag2','test_tag3'))))
但是,如果您的英语建议第二次阅读的内容,那么您也可以使用$all
代替$in
。这将确保所有根文档必须包含其中的slu。
答案 1 :(得分:0)
使用$elemMatch运算符来匹配数组中的元素。