MongoDB PHP查询使用$和运算符在同一个对象上

时间:2011-12-09 16:21:25

标签: php codeigniter mongodb and-operator

我有一个相当简单的查询,我在命令行工作,并尝试使用PHP执行。

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

db.collection.find( { $and: [ { tags: "cats" }, { tags: "video" } ] } )

我似乎无法弄清楚如何将其翻译成php。到目前为止,我一直在使用codeigniter来处理所有事情(Alex Bilbie的图书馆),但是我已经考虑过建立自己的查询而没有运气。我尝试过的大部分方法都消除了第一个标签(猫),因为它看的是相同的字段名称(标签)。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

对于如何格式化数组,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')))));

祝你好运!