mongoose

数据库 Node.js mongodb(bson json的超集)

分类:
关系型数据库: MySql
非关系型数据库: MongoDB

mongodb(命令) — 连接数据库、操作数据库 — mongoose

使用步骤:
1. 安装mogonose
npm i mongoose -S
2. 导入
const mongoose = require('mongoose')
3. 连接数据库
mongoose.connect('mongodb://主机名:端口/数据库名称')
举例:
mongoose.connect('mongodb://127.0.0.1:27017/1901')
4. 存储数据步骤:定义Schema (骨架) > 创建model(模型)> Entity实例化方法。
5. gulp搭建项目(跨域)
6. MongoDB的可视化工具

     Robo3T: https://robomongo.org/download
     adminMongo: https://blog.csdn.net/yzy199391/article/details/80453349

MongoDB安装

  1. 环境变量设置
  2. 系统服务添加有问题
  3. 安装
    系统不太支持高版本、 降版本 3.2 3.4
  4. 卸载
    卸载mongodb时候, 记得删除之前创建好的文件夹
  5. 低版本每次启动
    最好先
    net start MongoDB
    再:
    mongo

MongodDB

  1. MongoDB的存储数据的形式bson
    1. 数据库功能是用来存储数据的。
    2. 数据库分为关系系数据库和非关系型数据库(nosql)
    3. 关系型数据库是由表和表之间的关系组成的,nosql是由集合组成的,集合下面是很多的文档。
    4. 非关系型数据库文件存储格式为BSON(一种JSON的扩展)。

MongoDB操作命令

  1. MongoDB连接地址: mongodb://127.0.0.1:27017
  2. use db_name
    举例:
    创建: 我们的数据库中没有 你要切换的数据库, 那么即为创建
    切换: 数据库已经存在, 我们从一个数据库切换到另一个数据库
  3. show dbs
    将我们本地的所有数据库列出来
  4. db/db.getName()
    查看当前使用的数据库
  5. MongoDB
    数据库 -》 集合 -》 文档
    针对数据库(database)的操作
    1. help 获取MongolDB命令提示
    2. use db_name 切换数据库,当没有此数据库时会自动创建
    3. db||db.getName() 查看当前使用数据库
    4. db.states() 查看当前db状态
    5. db.dropDatabase() 删除数据库
    6. show dbs 查询所有数据库
    7. db.versions() 查询DB版本
    8. db.getMongo() 查询当前db的链接机器地址
针对集合(collections)的操作
  (1)创建一个集合
          db.createCollection("collName", {size: 20, capped: true, max: 100});
          db.collName.isCapped(); //判断集合是否为定容量
  (2)得到指定名称的集合
         db.getCollection("account");
  (3)得到当前db的所有集合
         db.getCollectionNames();
  (4)显示当前db所有集合的状态
        db.printCollectionStats()
针对文档(docuemnt)的操作
  1. 添加
    1. db.coll_name.save({})         推荐
    2. db.coll_name.insertOne({})
    3. db.coll_name.insert({})   (不要混合使用这三种添加方法)
  2. 查询
    db.coll_name.find(arg1,arg2) 所有的
    参数解释:
      arg1 表示的是匹配条件
      arg2 表示将来输出的内容匹配   0 表示不要, 1表示要

      举例: 
        db.movies.find({year:'1993'},{_id:0,title:1})//只输出title

    升序
      举例: 
          db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:1})

    降序
      举例
          db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:-1})

    截取  某条以前 limit
         db.movies.find({year:'1993'},{_id:0,title:1}).limit(5)
    截取  某条以后 skip

    优先级: 
      sort>skip>limit

    $or表示或者, 可以匹配多个条件
      db.teachers.find({$or:[{age:10},{age:40}]})//只要符合一个条件就会展示出数据

    findOne() 第一条数据

      db.teachers.findOne()

    count() 计数

      举例: 
        db.movies.find({year: {$gt:"1993"}},{_id:0,title:1,year:1}).count()  //16
  3. 删除
    db.coll_name.remove({})
  4. 修改
    db.coll_name.update(arg1,arg2,arg3,arg4)
    参数解释: 
          1. arg1: 匹配条件
          2. arg2: 修改的具体内容
          3. arg3:  false / true      匹配几条  false  一条   true  多条
          4. arg4:  false / true      修改几条  false  一条   true 多条
    $set 直接设置
      db.teachers.update({age:120},{$inc: {age: 80}},false,true)
    $inc 在当前基础上增加多少
      db.teachers.update({age:120},{$inc: {age: 80}},false,true)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值