mongo的基本操作

基本操作

命令操作 ----- maogo

  • 退出mongoDB使用exit

  • 查看所有的数据库列表 ---- show dbs

 

  • 创建数据库或切换数据库 --- use 数据库名
  • 可以使用db命令来查看当前所在的数据库名称

 

  • 给数据库中创建一个members的集合,并向集合中添加文档(行)数据 ---- db.表名/集合名.insert(JSON格式数据)

  • 查看当前数据库中的集合列表 --- show tables 或者 show collections

 

  • 删除表 --- db.表名/集合名.drop()

 

  • 删除库 --- db.dropDatabase()

 

增删改查

# 添加单条文档数据
db.表名/集合名.insertOne({ key: value , key: value...})

# 添加多条文档数据
db.表名/集合名.insertMany([{}, {}, {}])

# 可以添加单条也可以多条数据(为主)
db.表名/集合名.insert( {} )
db.表名/集合名.insert([{}, {} ])

  • 查询所有的数据 --- db.表名/集合名.find(); # 获取全部

  • 带条件查询 --- db.表名/集合名.find({key:value,key:value....})

  • 字段显示控制 --- db.表名/集合名.find({key:value,key:value....})

  • 逻辑运算
### 条件表达式
# 年龄大于5的
db.表名/集合名.find({age:{$gt:5}});  #age > 5(great than)
# 年龄大于等于5的
db.表名/集合名.find({age:{$gte:5}}); #age >= 5 (great than & equal)
# 年龄小于5的
db.表名/集合名.find({age:{$lt:5}}); #age < 5  (less than)
# 年龄小于等于5的
db.表名/集合名.find({age:{$lte:5}}); #age <= 5
# 年龄不等于5的
db.表名/集合名.find({age:{$ne:5}}); #age != 5   (not equal)
# 在一个指定的数值中查询  $in    年龄在不在这几个指定数值当中
db.表名/集合名.find({age:{$in:[1,2,3]})  ## where xxx in '集合'

## 且关系  and
db.表名/集合名.find({age:{$lt:5},username:"user11"})
## where age < 5 & username = 'user11'

## 或关系 or(有点绕)
db.表名/集合名.find({$or:[{条件1},{条件2}]})
## 例如
db.表名/集合名.find({$or:[{age:{$ne:5}},{username: "user11"}]});

需求:查询出年龄小于30或者gender为0的数据
db.members.find({$or:[{age:{$lt:30}},{gender:0}]})

  • 模糊查询 ---- db.表名/集合名.find({字段名:/正则/i})

  • 统计

db.表名/集合名.count(); // 统计所有的记录的总数

db.表名/集合名.find({}).count(); // 统计符合条件的结果的记录总数

注意点:find()顺序是否可以与count()颠倒。count不能与find的顺序交换

  • 排序

# 1 升序 -1 降序 字段

# 以age字段来升序

db.表名/集合名.find().sort({age:1})

# 以age字段来降序

db.表名/集合名.find().sort({age:-1})

  • 分页(实用)

db.表名/集合名.find().limit(3);

db.表名/集合名.find().skip(1).limit(3);

# 更新是要有条件的,没有条件在数据库层面来讲是可以更新的,但是实际是没有对应的业务需求

# 只修改单条文档
db.表名/集合名.updateOne({key:value},{$set:{key:value}})
# 修改符合条件所有文档数据
db.表名/集合名.updateMany({key:value},{$set:{key:value}})
## 如果上述两个方法的条件一致,并且有多个符合条件的,那么:
# updateOne,不管有多少个符合条件的只修改第一个
# updateMany,有多少改多少

# 字段的值的`自增和自减`
db.表名/集合名.updateOne({key:value},{$inc:{key:1}})		// increments,自增
db.表名/集合名.updateMany({key:value},{$inc:{key:1}})
db.表名/集合名.updateOne({key:value},{$inc:{key:-1}})		// decrements
db.表名/集合名.updateMany({key:value},{$inc:{key:-1}})
# 自增是整数,自减是负数
# 更新和删除操作允许不写条件,但是不能不写

# 删除单条文档

db.表名/集合名.deleteOne({ key: value })

# 删除符合条件多条文档

db.表名/集合名.deleteMany({key: value})

# 删除全部数据(慎用)

db.表名/集合名.deleteMany({})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值