使用PHP在MongoDB中执行WHERE a ='x'或WHERE b ='y'

时间:2011-09-06 21:18:56

标签: php mongodb mongodb-php

我从MongoDB开始,特别是使用MongoDB和PHP接口来使用它。我来自MySQL,我有点迷失。

我要做的是,有一个Mongo“条目”:usernamepasswordemailcountry我想搜索到寻找:

username IS to A OR email IS to B

如何做到这一点?

提前谢谢!

3 个答案:

答案 0 :(得分:2)

我认为你想要$或:http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24or。应该看起来像这样:

db.people.find({$or: [{username:'A'}, {email:'B'}]})

答案 1 :(得分:2)

来自manual

//SELECT * FROM users WHERE a=1 or b=2
$db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));

答案 2 :(得分:1)

我最近也开始这样做了;这里有一些我发现非常有用的链接:

$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。以下是两者之间翻译的链接。

Mongo to SQL Translations

最后,这是一个很好的入门教程:

Learn Mongo -> Interactive Tutorial