MongoDB数据库
定义
mongodb是一个文档型数据库,也是非关系型数据库(nosql)
mongodb全称为数据库、集合(表)、文档(数据) 该数据库里存储的数据全都是类json的数据结构(二进制json =>binary json)
特点
- mongodb因为是文档型,所以没有表头的概念,每个文档都可以不一样。
- 没有表头的限制,可多可少,属性字段可不同。
- mongodb中可以插入对象,数组及各种数据格式。
- mongodb不要做关联查询。
安装配置
- 某一个左下角小箭头不要点击
- 可能缺少api-ms 文件 可以去postman找
- 可能缺少c/data/db文件 进行创建
基本指令
- mongod指令:启动运行mongodb数据库
- mongo指令:链接数据库 并且可以执行查询语句
- show collections:显示集合
- mongodb:node的第三方插件 帮助我们操作mongodb
- mongodb:node的第三方插件 帮助我们操作mongodb
终端的数据库的操作
- db:检查当前的数据库
- show dbs:显示数据库
- use+数据库名: 如果存在则是选择切换数据库;如果不存在 则是创建数据库
- db.dropDatabase():删除数据库
终端的集合的操作
- db.createCollection(‘集合名字’):创建集合
- db.集合名字.drop():删除集合
- show collections:查看当前所有集合
终端的文档的操作
- db.dbname.insert(obj):插入数据,主键不能重复
- db.dbname.save(obj):插入数据,主键不存在则插入,主键存在则覆盖
若插入多条数据时,参数不是obj而是数组。 - db.dbname.find(obj):查询数据
- db.dbname.find.pretty(obj):格式化数据
- db.dbname.update(obj):更新数据
例如:db.集合名.update({查询条件},{$set:{}},{multi:false/true}) - db.dbname.remove(obj):删除数据
- db.表名.find(查找条件):固值查找
- db.表名.find($lt:{}):范值查找 查找小于
- db.表名.find($lte:{}):范值查找 查找小于等于
- db.表名.find($gt:{}):范值查找 查找大于
- db.表名.find($gte:{}):范值查找 查找大于等于
- db.use.find().skip((page-1)*pagesize).limit(pagesize):page 页数 pagesize 每页数量, 跳过限制几条 跳过与限制无关书写顺序,总是先跳过在截取
- db.表名.find().sort({key:1/-1}):1是升序 -1是降序
- $and:[{},{},…] $or:[{},{}]:AND和OR查找
主键
主键id唯一不重复,mongodb中的id默认是一种特殊的数据类型objectId,主键可以自己设置,如果不设置就是默认的。