1.查询
2.排序查询
sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列
3.分页列表查询
skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit(),和命令编写顺序无关
4.比较查询
5.条件连接查询
6.包含查询
7.统计查询
8.模糊查询,正则的复杂条件查询
//查询所有
db.accessToken.find({})
//查询userid为1003的记录
db.accessToken.find({userid:'1003'})
//查询用户编号是1003的记录,但只最多返回符合条件的第一条记录,使用findOne
db.accessToken.findOne({userid:'1003'})
//投影查询(Projection Query):
//查询结果只显示 _id、userid、nickname :默认 _id 会显示
db.accessToken.find({userid:'1003'},{userid:1,nickname:1})
//查询结果只显示 、userid、nickname ,不显示 _id
db.accessToken.find({userid:'1003'},{userid:1,nickname:1,_id:0})
//查询所有数据,但只显示 _id、userid、nickname :
db.accessToken.find({},{userid:1,nickname:1})
//只显示allData包含的system_state包含的auto_state
db.run_data.find({},{"allData.system_state.auto_state":1})
//排序查询
//sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列
//对userid降序排列,并对likenum进行升序排列
db.accessToken.find({}).sort({userid:-1,likenum:1})
//分页列表查询
//可以使用limit()方法来读取指定数量的数据,使用skip()方法来跳过指定数量的数据。
//如果你想返回指定条数的记录,可以在find方法后调用limit来返回结果,例如:
db.accessToken.find({}).limit(3)
//skip方法同样接受一个数字参数作为跳过的记录条数。(前N个不要),默认值是0
db.accessToken.find({}).skip(3)
//需求:每页2个,第二页开始:跳过前两条数据,接着值显示3和4条数据
//第一页
db.comment.find().skip(0).limit(2)
//第二页
db.comment.find().skip(2).limit(2)
//第三页
db.comment.find().skip(4).limit(2)
//skip(), limilt(), sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit(),和命令编写顺序无关
//比较查询
//<, <=, >, >= 这个操作符也是很常用的,格式如下:
// db.集合名称.find({ "field" : { $gt: value }}) // 大于: field > value
// db.集合名称.find({ "field" : { $lt: value }}) // 小于: field < value
// db.集合名称.find({ "field" : { $gte: value }}) // 大于等于: field >= value
// db.集合名称.find({ "field" : { $lte: value }}) // 小于等于: field <= value
// db.集合名称.find({ "field" : { $ne: value }}) // 不等于: field != value
//示例:查询评论点赞数量大于700的记录
db.comment.find({likenum:{$gt:NumberInt(700)}})
//条件连接查询
//我们如果需要查询同时满足两个以上条件,需要使用$and操作符将条件进行关联。(相 当于SQL的and) 格式为:
$and:[ { },{ },{ } ]
//查询评论集合中likenum大于等于700 并且小于2000的文档:
db.comment.find({$and:[{likenum:{$gte:NumberInt(700)}},{likenum:{$lt:NumberInt(2000)}}]})
//如果两个以上条件之间是或者的关系,我们使用 操作符进行关联,与前面 and的使用方式相同 格式为:
$or:[ { },{ },{ } ]
//查询评论集合中userid为1003,或者点赞数小于1000的文档记录
db.comment.find({$or:[ {userid:"1003"} ,{likenum:{$lt:1000} }]})
//包含查询
//包含使用$in操作符。 示例:查询评论的集合中userid字段包含1003或1004的文档
db.comment.find({userid:{$in:["1003","1004"]}})
//不包含使用$nin操作符。 示例:查询评论集合中userid字段不包含1003和1004的文档
db.comment.find({userid:{$nin:["1003","1004"]}})
//包含查询
//包含使用$in操作符。 示例:查询评论的集合中userid字段包含1003或1004的文档
db.comment.find({userid:{$in:["1003","1004"]}})
//不包含使用$nin操作符。 示例:查询评论集合中userid字段不包含1003和1004的文档
db.comment.find({userid:{$nin:["1003","1004"]}})
//正则的复杂条件查询
//MongoDB的模糊查询是通过正则表达式的方式实现的。格式为:
db.集合.find({字段:/正则表达式/})
//我要查询评论内容包含“开水”的所有文档,代码如下:
db.comment.find({content:/开水/})
//如果要查询评论的内容中以“专家”开头的,代码如下:
db.comment.find({content:/^专家/})
单行注释://
多行注释:选中注释的内容:CTRL+/