Выполнение WHERE a = 'x' ИЛИ ​​WHERE b = 'y' в MongoDB с PHP - PullRequest
0 голосов
/ 07 сентября 2011

Я начинаю с MongoDB и особенно с MongoDB и PHP-интерфейсом, чтобы использовать его. Я пришел из MySQL, и я немного потерян.

То, что я пытаюсь сделать, это иметь «запись» Монго с: username, password, email и country Я хочу выполнить поиск для поиска:

username IS to A OR email IS to B

Как это можно сделать?

Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 07 сентября 2011

Из руководства :

//SELECT * FROM users WHERE a=1 or b=2
$db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
2 голосов
/ 07 сентября 2011

Я думаю, вы хотите $ или: http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24or. Должно выглядеть примерно так:

db.people.find({$or: [{username:'A'}, {email:'B'}]})
1 голос
/ 07 сентября 2011

Я недавно тоже начал это делать; Вот несколько ссылок, которые я нашел чрезвычайно полезными:

$m = new Mongo();
$db = $m->selectDB('test');
$collection = $db->selectCollection('yourCollection');
$cursor = $collection -> find(array('$or'=>array(array("username"=>"a", "email"=>"b"))));
foreach($cursor as $key){
    print_r($key);
}

Это должно помочь вам начать работать с mongo и php. Ниже приведена ссылка на переводы между ними.

Перевод с монго на SQL

Наконец, это отличный учебник для начала:

Learn Mongo -> Интерактивное учебное пособие

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...