Mongodb的增删查改

Mongodb

杂谈

db存放再内存中,有集合时候自动持久话到磁盘上

创建

use 数据库

数据库名规则

  • 不能是空字符串
  • 不能含有空格、.、$、/、\、\0(空字符)
  • 全部小写
  • 最多64字节
show dbs
  • admin “root”库,用户自动继承所有权限
  • local 数据永远不会复制
  • config 用于分片设置

集合创建
显式

db.createcollection(集合名)

隐式
插入文档即可,若不存在,创建集合

查看创建

show collections

删除

db.集合名.drop

文档新增

单个插入

db.集合名.insert({})

insert 与save等价

多个插入

db.集合名.insertMany([{},{},{}])

可以采用try{}catch(e){}包裹

文档查询

简单查询

db.集合名.find() //查找全部
db,集合名.find({}) //按照Bson搜索
db.集合名。findOne() //返回第一条

投影查询

db.集合名.find({条件},{字段:1,_id:0}) // 1:展示,0不展示

正则查询

db.集合名.find({field:/value/}) // 包含值的所有文档
db.集合名.find({field:/^value/}) //以该值开头的集合

比较查询

db.集合名.find({"field":{$gt:value}});

包含查询

db.集合名.find({"field":{$in:[]}})
db.集合名.find({"field":{$nin:[]}})

and查询

db.集合名.find({$and:[{},{}]})

or查询

将and转成or即可

涵盖查询

投影查询只包含索引字段直接从索引返回结果

分页查询

统计
db.集合.count(query,option)
分页
db.集合.find().limit(num),skip(num) // limit:返回条数 skip:跳过条数
排序
db.集合.find().sort({})
  • field:1 升序
  • field:-1 降序

文档更新

db.集合.update(query,update,optioons)

覆盖更新

db.集合.update({},{filed:value})

局部更新

db.集合.update({},{$set:{field:value}})

默认第一条记录

批量更新

db.集合.update({},{$set:{field:value}},{multi:true})

列值增长的修改

db.集合.update({},{$inc:{field:NumberInt(1)}})

文档删除

db.集合.remove({}) // 无条件(全部删除)

索引

  1. 单字段索引
  2. 复合索引

索引创建

db.集合.createIndex(keys,option)

unique 唯一
name 自定义索引名称

索引查看

db.集合.getIndexes()

索引移除

db.集合.dropIndex(index)
db.集合.dropIndexes()

执行计划

db.集合.find().explain(options)

winning plan

stage:'collscan' // 全局扫描
stage:'fetch' // 抓取方式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值