最近经常忘了查询语法,这里总结PHP操作MongoDB查询语法:
一、准备查询条件
// 字段字串为
$querys = array("name"=>"shian");
// 数值等于多少
$querys = array("number"=>7);
// 数值大于多少
$querys = array("number"=>array('$gt' => 5));
// 数值大于等于多少
$querys = array("number"=>array('$gte' => 2));
// 数值小于多少
$querys = array("number"=>array('$lt' => 5));
// 数值小于等于多少
$querys = array("number"=>array('$lte' => 2));
// 数值介于多少
$querys = array("number"=>array('$gt' => 1,'$lt' => 9));
// 数值不等于某值
$querys = array("number"=>array('$ne' => 9));
// 使用js下查询条件
$js = "function(){
return this.number == 2 && this.name == 'shian';
}";
$querys = array('$where'=>$js);
// 字段等于哪些值
$querys = array("number"=>array('$in' => array(1,2,9)));
// 字段不等于哪些值
$querys = array("number"=>array('$nin' => array(1,2,9)));
// 使用正则查询
$querys = array("name" => new MongoRegex("/shi/$i"));
// 或
$querys = array('$or' => array(array('number'=>2),array('number'=>9)));
二、需要得到哪些字段
// 需要列出哪些字段(空为全部)
$fields = array();
三、执行查询
// find: 列出查询到所有资料
$find_data = iterator_to_array($user->find($querys,$fields));
print_r($find_data);
// findOne: 只列出第一节点资料
$findone_data = $user->findOne($querys,$fields);
print_r($findone_data);