PHP-запрос MongoDB с использованием $ и оператора для одного и того же объекта - PullRequest
0 голосов
/ 09 декабря 2011

У меня довольно простой запрос, который я выполняю в командной строке, и пытаюсь выполнить его с помощью php.

Он ищет документы, которые соответствуют всем заданным «тегам», введенным в поискеbox:

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

Я не могу понять, как перевести это на php.До этого момента я использовал codeigniter для всего (библиотека Алекса Билби), но безуспешно пытался строить свои собственные запросы.Большинство методов, которые я пробовал, исключают первый тег (cats), поскольку он ищет одно и то же имя поля (теги).

есть мысли?

1 Ответ

3 голосов
/ 09 декабря 2011

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

Удачи!

...