MongoDB基本操作

  1. 关系型数据库与NoSQL的区别
SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins   表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键
  1. 创建数据库 use mydb
  2. 显示本地所有数据库 show dbs
  3. 显示当前数据库 db
  4. 删除数据库 db.dropDatebase()
  5. 创建集合 db.createCollection('c1') 创建的集合叫c1
  6. 插入语句 db.c1.insert({name:'jack',age:20})
  7. 用js语句插入多个: for(var i=0;i<=1000000;i++){db.c1.insert({name:"name"+i,age:i})}
  8. 更新常用:
db.collection.update(criteria,objNew,upsert,multi)
参数说明:
criteria: 用于设置查询条件的对象
objNew: 用于设置更新内容的对象
upsert: 如果记录已经存在,更新它,否则新增一个记录,取值为 0 1
multi :如果有多个符合条件的记录,是否全部更新,取值为 0 1
注意:默认情况下,只会更新第一个符合条件的记录
一般情况下后两个参数分别为 0,1 ,即:
db.collection.update(criteria,objNew,0,1)


  1. 更新语句 db.c1.update({name:'jack'},{$set:{name:'tom'}}) 名字为Jack的奖杯更新为Tom
  2. MongoDB命令行下格式化find()返回结果: db.c1.find().pretty()

  1. 显示集合:show collections 或 show tables
  2. 删除集合中的默写数据: db.c1.remove({name:"name"})
  3. 查询集合中的文档 ,使用条件表达式(<, <=, >, >=,!=)
// 大于: field > value
db.collection.find({field:{$gt:value}});
// 小于: field < value
db.collection.find({field:{$lt:value}});
// 大于等于: field >= value
db.collection.find({field:{$gte:value}});
// 小于等于: field <= value
db.collection.find({field:{$lte:value}});
// 不等于:  field != value
db.collection.find({field:{$ne:value}});
  1. 统计:> db.c1.find().count() 结果:478208
  2. 统计一段分页的个数: db.c1.find().skip(5).limit(10).count(1) 如果是0就全部统计
  3. 排序:db.c1.find().sort({age:-1}) 1代表升序,-1代表降序
  4. 分页: db.c1.find().skip(5).limit(10) 从第5条数据开始10条数据
  5. 查询集合中的文档 ,$all主要用来查询数组中的包含关系,查询条件中只要有一个不包含就不返回: db.c2.insert({name:"user1",post:[1,2,3,4]})



  1. 查询集合中的文档 ,$in,类似于关系型数据库中的IN: db.c1.find({age:{$in:[1,3,5,7]}}) 也有$nin

  1. 查询集合中的文档 ,$or,相当于关系型数据库中的OR,表示或者的关系: db.c1.find({$or:[{name:"name2"},{age:3}]})

  1. 查询集合中的文档 ,$nor,表示根据条件过滤掉某些数据,例如查询name不是name2age不是3的文档,命令为:db.c1.find({$nor:[{name:”name2”},{age:3}]})
  2. 查询集合中的文档 ,$exists,用于查询集合中存在某个键的文档或不存在某个键的文档,例如查询customer集合中存在name键的所有文档,可以使用 db.c1.find({name:{$exists:1}})
$exists:1 表示真,指存在
$exists:0 表示假,指不存在
  1. 查询集合中的文档 ,类似于关系型数据库,mongodb中也有游标的概念

  1. 更新集合中的文档,使用 $inc 将集合中nameuser1age1,其它键不变, $inc表示使某个键值加减指定的数值:db.c1.update({name:"name0"},{$inc:{age:1}})加1

  1. 更新集合中的文档, $unset 用来删除某个键,例如删除nameuser1的文档中的address键,可以使用命令: db.c1.update({name:"name0"},{$unset:{age:11}},0,1)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bore1994

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值