0

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

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

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

我似乎无法弄清楚如何将其转换为 php。到目前为止,我一直在使用 codeigniter 来处理所有事情(Alex Bilbie 的库),但是我已经研究过构建我自己的查询,但没有运气。我尝试过的大多数方法都消除了第一个标签(cats),因为它正在查看相同的字段名称(标签)。

有什么想法吗?

4

1 回答 1

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')))));

祝你好运!

于 2011-12-09T16:56:21.670 回答