$eq 等于
$lt 小于
$lte 小于等于
$gt 大于
$gte 大于等于
$in 在范围内
//查询名字为“小明”和“小刚”的 $condition = [ 'name' => ['$in' => ['小明','小刚']] ]; $result = $collection -> find($condition,['_id'=>false]);
$and 并且(默认的逻辑关系就是并且)
//查询名年龄大于10并小于30的 $condition = [ '$and' => [ ['age' => ['$gt' => 10]], ['age' => ['$lt' => 30]] ] ]; $result = $collection -> find($condition,['_id'=>false]);
$and 简写方式:
//查询名年龄大于10并小于30的 $condition = [ 'age' => ['$gt' => 10,'$lt' => 30] ]; $result = $collection -> find($condition,['_id'=>false]);
$or 或者
//查询名年龄等于10或等于30的 $condition = [ '$or' => [ ['age' => ['$eq' => 10]], ['age' => ['$eq' => 30]] ] ]; $result = $collection -> find($condition,['_id'=>false]);
$not 非
//查询名年龄不等于10的 $condition = [ 'age' => ['$not' => ['$eq' => 10]] ]; $result = $collection -> find($condition,['_id'=>false]);
//查询hobby里包含swim的 $condition = [ 'hobby' => 'swim' ]; $result = $collection -> find($condition,['_id'=>false]);
//查询hobby里包含swim和climb的 $condition = [ 'hobby' => ['$all' => ['swim','climb']] ]; $result = $collection -> find($condition,['_id'=>false]);
//查询hobby里就是swim和climb的 $condition = [ 'hobby' => ['swim','climb'] ]; $result = $collection -> find($condition,['_id'=>false]);
内嵌文档的表现形式类似于属性的值又是一个文档
例如:{
"name":"小明",
"score":{
"Math":100,
"Chinese”:90
}
}
//查询数学分数大于80的 $condition = [ 'score.math' => ['$gt' => 80] ]; $result = $collection -> find($condition,['_id'=>false]);
使用正则表达式进行过滤
//查询名字以“小”开头的 $condition = [ 'name' => new MongoRegex('/^小/') ]; $result = $collection -> find($condition,['_id'=>false]);
注:需要先查询,再对查询的结果进行排序
通过查询结果(cursor游标)的sort方法进行排序,排序有2种方式:
//查询结果 $cursor = $collection -> find([],['_id'=>false]); //对查询结果倒序排序 $result = $cursor -> sort(['score.math'=>-1]); foreach($result as $key => $value){ echo ($value['name'].':'.$value['score']['math']).'<br/>'; }
对查询的结果进行限定,该方法属于cursor游标的
//查询结果 $cursor = $collection -> find([],['_id'=>false]); //对查询结果倒序排序,忽略前三个,保留后两个 $result = $cursor -> sort(['score.math'=>-1]) -> skip(3) -> limit(2); foreach($result as $key => $value){ echo ($value['name'].':'.$value['score']['math']).'<br/>'; }
如对本文有疑问, 点击进行留言回复!!
express+mongoose实现对mongodb增删改查操作详解
修复 Mac brew 安装 mongodb 报 Error: No available formula with the name ‘mongodb’ 问题详解
网友评论