Node.js的基本使用3
admin
2023-02-14 05:00:05
0

koa(扩展知识, 建议学习)

  1. koa是express超集(进阶版)

前后端分离和耦合概念介绍

  1. 面向过程 -》 面向对象 --》 面向服务

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

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

MongoDB安装

  1. 环境变量设置
  2. 系统服务添加有问题
  3. 安装
    系统不太支持高版本、 降版本 3.2 3.4

    写在mongodb时候, 记得删除之前创建好的文件夹

  4. 每次启动
    最好先
    net start MongoDB
    在:
    mongo

问题?MongodDB

  1. MongoDB的存储数据的形式bson

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

    MongoDB操作命令

  2. MongoDB连接地址: mongodb://127.0.0.1:27017
  3. use db_name
    举例:
    创建: 我们的数据库中没有 你要切换的数据库, 那么即为创建
    切换: 数据库已经存在, 我们从一个数据库切换到另一个数据库
  4. show dbs
    将我们本地的所有数据库列出来
  5. db/db.getName()
    查看当前使用的数据库
  6. MongoDB
    数据库 -》 集合 -》 文档
    针对数据库(database)的操作

    1. help
    2. use db_name
    3. db||db.getName()
    4. db.states()
    5. db.dropDatabase()
    6. show dbs
    7. db.versions()
    8. db.getMongo()

    针对集合(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})

      升序
      举例:
      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)

        注意:db.students.update({name:'lwj'},{$inc;{age:10}},true,false)//只能修改第一条,一句话来说,虽然匹配多条但修改一条就是一条
        db.students.update({name:'lwj'},{$inc:{age:10}},true)//同上
        db.students.update({name:'lwj'},{$inc:{age:10}},false)//同上
        db.students.update({name:'lwj'},{$inc:{age:10}},false,true)//这个自然是全都修改了

作业:

  1. 笔记整理
  2. 练习 (将所有的命令走一遍)
  3. 预习mongoose

相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...