Mongodb 常用命令--查询

一、查询命令

(1)模糊查询,menuname 字段包含管理的所有数据

db.menu.find({"menuname":{"$regex":"管理"}})

(2)精确查询,name=zhangsan

db.user.find({"name":"zhangsan"})

(3)带有自定义返回字段的查询, 1 代表返回,0代表不返回,,不写则返回所有字段

db.menu.find({"menuname":"用户管理"},{"menuname":1,"menuurl":1})

(4)限制查询条数,用于分页查询,limit()中的参数为限制显示的结果数目

db.menu.find().limit(2)

(5)跳过自定义数量,展示自定义条数,skip中的参数为跳过的数据数量

db.menu.find().limit(2).skip(3)

(6)排序,1升序,-1降序

db.user.find().sort({"createtime":1})

(7)综合查询。如下实例分析(查询用户名不为null ,按照添加时间 升序,只返回 username,nickname,cretetime)另外 mongo数据库默认返回_id字段,要想不返回,请按照如下【2】写法规则

【7-1】不指定 _id
db.user.find({"username":{"$ne":null}},{"username":1,"nickname":1,"createtime":1}).
limit(2).skip(1).sort({"createtime":1});

结果如下:

 【7-2】明确指定 _id 字段不返回

db.user.find({"username":{"$ne":null}},{"username":1,"nickname":1,"createtime":1,"_id":0}).limit(2).skip(1).sort({"createtime":1});

结果如下:

(8)条件查询 $in , 某字段在一些值之内。如下:查询 _id 是5b3099da8b41fc288c69b78d和5b30ac758b41fc32b4f518e5的数据,_id 比较特殊,查询的时候需要封装为 ObjectId 对象.

db.menu.find({"_id":{"$in":[new ObjectId("5b3099da8b41fc288c69b78d"),new ObjectId("5b30ac758b41fc32b4f518e5")]}})

(9)批量查询:查询用户名不为空的数据

db.user.find({"username":{$ne:null}})

二、更新

(1)如下,将 username 不为 null 的数据的 groupId 字段全部更新为 aa ,

    multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新

 命令:  db.user.update({"username":{$ne:null}},{$set:{"groupId":"aa"}},{multi:true})

 三、删除

(1)删除user表所有数据

db.user.deleteMany({})

(2)删除 用户名为 admin的 所有用户

db.user.deleteMany({ "username": "admin" })

(3)删除单个用户

db.user.deleteOne( { "username": "xiaoming" } )

/**************附录:查询筛选条件简要说明,和sql语句的对应关系****************/

MongoDB中条件操作符有:

  • (>) 大于 - $gt
  • (<) 小于 - $lt
  • (>=) 大于等于 - $gte
  • (<= ) 小于等于 - $lte

猜你喜欢

转载自blog.csdn.net/qq_38153992/article/details/81142531