码迷,mamicode.com
首页 > 其他好文 > 详细

query更多的筛选用法

时间:2018-09-19 21:51:03      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:class   存在   size   不能   显示   false   大于   下标   sts   

比较操作符
$eq : =    写法:db.class0.find({age:{$eq:18}},{name:1,_id:0}); 查找年龄等于18
$lt :<
$lte : <=
$gt : >   db.class0.find({age:{$gt:17,$lt:20}},{name:1,_id:0}); 查找大于17且小于20
$gte: >=
$ne : !=
$in : 包含    db.class0.find({age:{$in:[17,19]}},{name:1,_id:0}); 查找17和19的年龄
$nin: 不包含

逻辑操作符:
$and 逻辑与
 1. 在query如果写多个条件默认即为and关系
  db.class0.find({age:{$lt:18},sex:{$eq:"w"}},{_id:0});
 2.逻辑与$and
  db.class0.find({$and:[{age:{$lt:18}},{sex:"w"}]},{});
$or 逻辑或
 查找年龄小于17或大于19的数据
  db.class0.find({$or:[{age:{$lt:17}},{age:{$gt:19}}]},{});
$not 逻辑非
 查找性别不为男的
  db.class0.find({sex:{$not:{$eq:"m"}}},{});
$nor 既不也不
 姓别既不能是男,年龄也不小于18
  db.class0.find({$nor:[{sex:{$eq:"w"}},{age:{$lt:18}}]},{});
 查找姓名即不小于dsd,年龄也不小于18
  db.class0.find({$nor:[{name:{$not:{$lt:"dsd"}}},{age:{$not:{$lt:18}}}]},{});
$all 查找数组同时包含多项文档
 查找同时包含49, 67的文档
  db.class1.find({score:{$all:[49,67]}},{_id:0})
$size 通过数组个数来进行查找
 查找分数域中的文档个数为2
  db.class1.find({score:{$size:2}},{_id:0})
$slice 显示数组中指定项
 显示数组前两项
  db.class1.find({},{_id:0,score:{$slice:2}})
 显示数组索引下标1,2
  db.class1.find({},{_id:0,score:{$slice:[1,2]}}) 
$exists 通过某个域是否存在筛选
 查找sex域不存在的文档
  db.class1.find({sex:{$exists:false}},{_id:0})
$mod 余数查找
 找出年龄为双数的文档
  db.class1.find({age:{$mod:[2,0]}})
$type 找出指定数据类型的文档
 找出age域值类型为1的文档
  db.class1.find({age:{$type:1}},{_id:0})

query更多的筛选用法

标签:class   存在   size   不能   显示   false   大于   下标   sts   

原文地址:https://www.cnblogs.com/zengsf/p/9676686.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!