在同一对象上使用$and运算符进行MongoDB PHP查询

在同一对象上使用$and运算符进行MongoDB PHP查询,php,codeigniter,mongodb,and-operator,Php,Codeigniter,Mongodb,And Operator,我在命令行中有一个相当简单的查询,我正在尝试使用php执行它 它正在查找与搜索框中输入的所有给定“标记”匹配的文档: db.collection.find( { $and: [ { tags: "cats" }, { tags: "video" } ] } ) 我似乎不知道如何将其转换为php。到目前为止,我一直在使用codeigniter进行所有的工作(Alex Bilbie的库),但我一直在考虑构建自己的查询,但运气不佳。我尝试过的大多数方法都消除了第一个标记(cats),因为它查看的是相

我在命令行中有一个相当简单的查询,我正在尝试使用php执行它

它正在查找与搜索框中输入的所有给定“标记”匹配的文档:

db.collection.find( { $and: [ { tags: "cats" }, { tags: "video" } ] } )
我似乎不知道如何将其转换为php。到目前为止,我一直在使用codeigniter进行所有的工作(Alex Bilbie的库),但我一直在考虑构建自己的查询,但运气不佳。我尝试过的大多数方法都消除了第一个标记(cats),因为它查看的是相同的字段名(tags)


有什么想法吗?

PHP在格式化数组时可能会有点棘手。我发现创建查询的最佳方法是执行以下操作:

json_encode($myQuery); 
然后将其与直接在应用程序控制台上工作的实际情况进行比较。在这种情况下,您正在寻找:

$item = array('$and' => array(array('tags' => 'cats'), array('tags' => 'videos')))
您可以通过执行以下操作来确认:

echo(json_encode(array('$and' => array(array('tags' => 'cats'), array('tags' => 'videos')))));

祝你好运

PHP在格式化数组时可能会有点棘手。我发现创建查询的最佳方法是执行以下操作:

json_encode($myQuery); 
然后将其与直接在应用程序控制台上工作的实际情况进行比较。在这种情况下,您正在寻找:

$item = array('$and' => array(array('tags' => 'cats'), array('tags' => 'videos')))
您可以通过执行以下操作来确认:

echo(json_encode(array('$and' => array(array('tags' => 'cats'), array('tags' => 'videos')))));
祝你好运