db.表名.find({goods_id:3}); //查询出 goods_id 为 3 的数据 db.表名.find({cat_id:{$ne:3}},{cat_id:1,goods_name:1,_id:0}); //查询出分类 id 不等于 3 的商品名称和分类 id db.表名.find({cat_id:{$not:3}},{cat_id:1,goods_name:1,_id:0}); //查询出分类 id 不等于 3 的商品名称和分类 id $lt 小于 $lte 小于或等于 $gt 大于 $gte 大于或等于 $in in(如 cat_id:{$in:[3,4]} 分类 id 是 3和 4 的) $nin not in(如 cat_id:{$nin:[3,4]} 分类 id 不是 3和 4 的) $all 无对应项,指数组中所有单元匹配 db.表名.find({$and:[{shop_PRice:{$gte:100}},{shop_price:{$lte:500}}]},{shop_price:1,goods_name:1}); ////查询出商品价格大于等于100 and 小于等于500 的商品价格、商品名称 db.表名.find({$nor:[{cat_id:3},{cat_id:11}]},{shop_price:1,goods_name:1}); //查询出分类 id 不等于 3 和 分类 id 不等于 11 的数据 db.表名.find({goods_id:{$mod:[5,0]}},{cat_id:1,goods_name:1,_id:0}); //查询出商品 id 模 5 等于0 的分类 id 和 商品名称 db.表名.find({age:{$exists:1}}); //查询出存在年龄属性的数据 db.表名.find({age:{$type:1}}); //查询出年龄属性类型为 double 类型的 2 字符串类型(更多类型请百度) db.表名.find({hobby:{$all:['a','b']}}); //查询出爱好中有 a 和 b 的数据(必须都满足) db.表名.find({$where:'this.age>18 && this.age<25'}); //查询出所有年龄大于 18 并且小于 25 的数据(必须要把二进制数据再转换成 json 对象进行匹配,所以效率比较低,而其他条件表达式只通过二进制比对形式匹配。) db.表名.find({goods_name:{$regex:/^诺基亚.*/}}); //正则匹配查询出所有数据中商品名称诺基亚开头的(效率不高,慎用) db.表名.find().sort({age:1/-1}); //按年龄排序(1 为升序,2为降序)