Node.js的基本使用3

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

转载于:https://blog.51cto.com/12699853/2376902

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter的滚动以及sliver约束

Flutter框架中有很多滚动的Widget,ListView、GridView等,这些Widget都是使用Scrollable配合Viewport来完成滚动的。我们来分析一下这个滚动效果是怎样实现的。 Scrollable在滚动中的作用 Scrollable继承自StatefulWidget,我们看一下他的State的build方法…

页面增加html,为静态页面HTML增加session功能

一般来说,只有服务器端的CGI程序(ASP、PHP、JSP)具有session会话功能,用来保存用户在网站期间(会话)的活动数据信息,而对于数量众多的静态页面(HTML)来说,只能使用客户端的cookies来保存临时活动数据,但对于cookies的操…

关于Istio 1.1,你所不知道的细节

本文整理自Istio社区成员Star在 Cloud Native Days China 2019 北京站的现场分享 第1则 主角 Istio Istio作为service mesh领域的明星项目,从2016年发布到现在热度不断攀升。 Istio & Envoy Github Star Growth 官网中Istio1.1的架构图除了数据面的Envoy和控制面…

html调用父页面的函数,js调用父框架函数与弹窗调用父页面函数的方法

调用父级中的 aaa的函数子页面中:οnclick"window.parent.frames.aaa()"父页面中:function aaa(){alert(‘bbbbb’);}----------------------------------------------frame框架里的页面要改其他同框架下的页面或父框架的页面就用parentwindow.opener引用的是window.…

读卡距离和信号强度两方面来考虑

选择物联宇手持终端机的时候,你可以参考以下几个原则:选择行业需要应用功能,能有效控制好预算。屏幕界面需要高清晰的,选用分辨率较高的能更好的支持展现。按照项目所需求的来分析,需要从读卡距离和信号强度两方面来考…

html script 放置位置,script标签应该放在HTML哪里,总结分享

几年前,有经验的程序员总是让我们将很明显,现在浏览器有了更加酷的兼容方式,这篇文章,俺将跟大家一起来学习script标签的async和defer新特性,探讨script应该放在哪里更好。页面加载方式在我们讨论当浏览器加载带有获取…

2021吉林高考26日几点可以查询成绩,2021吉林高考成绩查分时间及入口

2021吉林高考成绩查分时间及入口2021吉林高考成绩查分时间及入口,有一些高考生真的很积极,考完试当天就将答案给对好了,考试嘛,站在旁观者的角度来看总是有人欢喜有人忧。估出来分数不咋地的,整个六月就毁了。2021吉林…

easyui,layui和 vuejs 有什么区别

2019独角兽企业重金招聘Python工程师标准>>> easyui是功能强大但是有很多的组件使用功能是十分强大的,而layui是2016年才出来的前端框架,现在才更新到2.x版本还有很多的功能没有完善,也还存在一些不稳定的情况,但是lay…

广东2021高考成绩位次查询,广东一分一段表查询2021-广东省2021年一分一段统计表...

广东省高考一分一段表是同学们在填报高考志愿时的重要参考资料之一。根据一分一段表,大家不仅可以清楚地了解自己的高考成绩在全省的排名,还可以结合心仪的大学近3年在广东省的录取位次变化,判断出自己被录取的概率大概是多少。根据考试院公布…

bootstrap-select动态生成数据,设置默认选项(默认值)

bootstrap-select设置选中的属性是selected"selected",只要找出哪一项要设置为默认选项,再设置其属性selected"selected"即可,亲测有效。代码如下: var currentId $(_this).attr(data_id);//目标id&#xff…

无法显示验证码去掉html,如何去除验证码-模版风格-易通免费企业网站系统 - Powered by CmsEasy...

去除前台用户登录验证码1.修改lib/default/user_act.php 注释掉或删除55-58行修改为//if(!session::get(verify) || front::post(verify)<>session::get(verify)) {//front::flash(验证码错误&#xff01;);//return;//} 复制代码2.修改template/default/user/login.html…

webpack4打包工具

什么是webpack webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时&#xff0c;它会递归地构建一个依赖关系图(dependency graph)&#xff0c;其中包含应用程序需要的每个模块&#xff0c;然后将所有这些模块打包成一个或多个…

通过计算机网络进行的商务活动包括,电子商务练习题及答案

“电子商务”练习题一、填空题1&#xff0e;EDI系统构成三要素包括数据标准化、(EDI软件及硬件)和(通信网络)。2.B2C电子商务模式主要有&#xff1a;门户网站、(电子零售商)、(内容提供商)、(交易经纪人)和社区服务商。3. 影响消费者网上购物的因素&#xff1a;商品特性、(商品…

PAKDD 2019 都有哪些重要看点?看这篇文章就够了!...

雷锋网 AI 科技评论按&#xff1a;亚太地区知识发现与数据挖掘国际会议&#xff08;Pacific Asia Knowledge Discovery and Data Mining&#xff0c;PAKDD&#xff09;是亚太地区数据挖掘领域的顶级国际会议&#xff0c;旨在为数据挖掘相关领域的研究者和从业者提供一个可自由 …

「javaScript-每三位插入一个逗号实现方式」

一道火了很久的面试题&#xff0c;//将以下数字从小数点前开始每三位数加一个逗号var num 1234567890.12345;复制代码相信大家写了这么久的前端代码&#xff0c;不论是培训也好&#xff0c;面试也好&#xff0c;这种题出现的频率挺高的&#xff0c;网上方法很多&#xff0c;但…

计算机网络df例题,计算机网络期末试题北交.doc

计算机网络期末试题北交北京交通大学 2007-2008学年 第学期考试试题课程名称&#xff1a;计算机通信与网络技术 出题人&#xff1a;网络课程组题 号一二三五总分得 分签 字选择题(每题分&#xff0c;共0分)PING命令使用协议的报文A、TCP ?? ?B、UDP ??????????C、…

java B2B2C 仿淘宝电子商城系统-Spring Cloud Feign的文件上传实现

在Spring Cloud封装的Feign中并不直接支持传文件&#xff0c;但可以通过引入Feign的扩展包来实现&#xff0c;本文就来具体说说如何实现。需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六 服务提供方&#xff08;接收文件&#…

2021计算机三级网络技术教程,全国计算机等级考试三级教程——网络技术(2021年版)...

前辅文第一单元 网络规划与设计第1章 网络系统结构与设计的基本原则1.1 基础知识1.2 实训任务习题第2章 中小型网络系统总体规划与设计方法2.1 基础知识2.2 实训任务习题第3章 IP地址规划设计技术3.1 基础知识3.2 实训任务习题第4章 路由设计基础4.1 基础知识4.2 实训任务习题第…

subline Text3 插件安装

--没有解决&#xff0c;换了vscode 安装Package Control 这是必须的步骤&#xff0c;安装任何插件之前需要安装这个 自动安装的方法最方便&#xff0c;只需要在控制台&#xff08;不是win的控制台&#xff0c;而是subline 的&#xff09;里粘贴一段代码就好&#xff0c;但是由…

大学计算机基础书本里的毕业论文源稿,计算机基础毕业论文范文

计算机基础毕业论文范文导语&#xff1a;关于大学计算机基础的教学&#xff0c;需要不断探索与实践&#xff0c;实现更好的教学。下面是小编带来的计算机基础毕业论文&#xff0c;欢迎阅读与参考。论文&#xff1a;大学计算机基础教学的探索与实践摘要&#xff1a;大学计算机基…