最近經常忘了查詢語法,這裡總結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);