Node.js的基本使用3
koa(扩展知识, 建议学习)
- koa是express超集(进阶版)
前后端分离和耦合概念介绍
- 面向过程 -》 面向对象 --》 面向服务
数据库 Node.js mongodb(bson json的超集)
分类:
关系型数据库: MySql
非关系型数据库: MongoDB
MongoDB安装
- 环境变量设置
- 系统服务添加有问题
安装
系统不太支持高版本、 降版本 3.2 3.4写在mongodb时候, 记得删除之前创建好的文件夹
- 每次启动
最好先
net start MongoDB
在:
mongo
问题?MongodDB
MongoDB的存储数据的形式bson
数据库功能是用来存储数据的。
数据库分为关系系数据库和非关系型数据库(nosql)
关系型数据库是由表和表之间的关系组成的,nosql是由集合组成的,集合下面是很多的文档。
非关系型数据库文件存储格式为BSON(一种JSON的扩展)。MongoDB操作命令
- MongoDB连接地址: mongodb://127.0.0.1:27017
- use db_name
举例:
创建: 我们的数据库中没有 你要切换的数据库, 那么即为创建
切换: 数据库已经存在, 我们从一个数据库切换到另一个数据库 - show dbs
将我们本地的所有数据库列出来 - db/db.getName()
查看当前使用的数据库 MongoDB
数据库 -》 集合 -》 文档
针对数据库(database)的操作- help
- use db_name
- db||db.getName()
- db.states()
- db.dropDatabase()
- show dbs
- db.versions()
- 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)的操作
- 添加
- db.coll_name.save({}) 推荐
- db.coll_name.insertOne({})
- db.coll_name.insert({})
查询
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- 删除
db.coll_name.remove({}) 修改
db.coll_name.update(arg1,arg2,arg3,arg4)
参数解释:- arg1: 匹配条件
- arg2: 修改的具体内容
- arg3: false / true 匹配几条 false 一条 true 多条
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)//这个自然是全都修改了
作业:
- 笔记整理
- 练习 (将所有的命令走一遍)
- 预习mongoose
转载于:https://blog.51cto.com/12699853/2376902
Node.js的基本使用3相关推荐
- Node.js 简单入门
目录 一. 什么是Nodejs 二. Nodejs组成图(对比jdk) 三. Nodejs的安装 四. 第一个Nodejs程序 五. Node实现请求响应 六. Node操作MYSQL数据库 1. 安 ...
- node.js(node.js+mongoose小案例)_实现简单的注册登录退出
一.前言 通过node.js基本知识对node.js基本知识的一个简单应用 1.注册 2.登录 3.退出 二.基本内容 1.项目结构搭建如图所示 2.这个小案列中用到了art-template子模板以 ...
- 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查
Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...
- [转]Getting Start With Node.JS Tools For Visual Studio
本文转自:http://www.c-sharpcorner.com/UploadFile/g_arora/getting-started-with-node-js-tools-for-visual-s ...
- 由Node.js事件驱动模型引发的思考
引言 近段时间听说了Node.js,很多文章表述这个事件驱动模型多么多么优秀,应用在服务器开发中有很大的优势,本身对此十分感性去,决定深入了解一下,由此也引发了一些对程序设计的思考,记录下来. 什么是 ...
- 百度语音合成 js html,Node.js结合百度TTS接口实现文字转语音功能
今天工作的时候偶然发现了百度的TTS Restful接口(TTS是TextToSpeech,说白了就是文本转语音的功能).该接口如下,浏览器中可以直接访问: http://tts.baidu.com/ ...
- js ftpclient linux server,Node.JS用Socket实现FTP Server服务器和Client客户端
通信过程 FTP协议其实就是主机和服务通过Socket进行固定格式的通信过程,当某客户端连接到FTP 服务器后,客户端发送指令: [参数] 服务会按以下格式返回: [参数或说明] 例如以下是FileZ ...
- 【强势来袭】Node.js(nodejs)实现“一口多用”(含用户创建、登录、鉴权token) 一个文件解决所有常态化需求
注意,前情提示: 本代码基于<Node.js(nodejs)对本地JSON文件进行增.删.改.查操作(轻车熟路)> 传送门Node.js(nodejs)对本地JSON文件进行增.删.改.查 ...
- 【敏捷开发】Node.js(nodejs)实现一个接口完成增删改查聚合接口4个功能,最大限度节省接口数量,正所谓“一口多用”(基础版、免登陆、无鉴权)
注意,前情提示: 本代码基于<Node.js(nodejs)对本地JSON文件进行增.删.改.查操作(轻车熟路)> 传送门Node.js(nodejs)对本地JSON文件进行增.删.改.查 ...
- Node.js实现本地客户端上传单个或者多个文件Excel文件(xls格式、xlsx格式文件)到服务器端,并且解析对应的Excel内容反馈到请求报文中
注意,前情提示: 本代码基于<Node.js(nodejs)对本地JSON文件进行增.删.改.查操作(轻车熟路)> 传送门Node.js(nodejs)对本地JSON文件进行增.删.改.查 ...
最新文章
- python中不同类型的数据不能相互运算_PyTorch中Tensor的数据类型和运算的使用
- hdu1006 Tick and TIck
- java中的break与continue用法
- android开发使用c+_如何在Android项目中开始使用C ++代码
- jodd忽略ssl证书_关于java访问https资源时,忽略证书信任问题
- IT人不要一直做技术(转载)
- HDOJ1102 Constructing Roads【最小生成树】-----武科大ACM暑期集训队选拔赛1题
- STM32的Bootloader实现
- 我用Anylogic写了一个遗传算法
- 高并发大流量解决方案
- cf 581A— Vasya the Hipster
- 【烙铁使用规范】—— 延长无铅手工焊接工艺中烙铁头的寿命
- ImportError: sys.meta_path is None, Python is likely shutting down 解决方案
- 广州蓝景分享—遇到网页慢,我们该怎么办?
- 【无标题】软件企业认定条件(双软企业认定条件2022)
- 计算出某年某月某日是星期几
- 2015年中国互联网发生了什么?这份榜单透露真相
- vue热敏打印机_vue.js实现连接打印机
- [Excel] 条件格式-公式条件
- 仅在ACCESS窗体设计中,实现数据文件连接的方法
热门文章
- 使用gitlab初次上传代码
- linux可以用dos命令是什么意思,Linux系统常用命令与DOS命令的类似之处和本质区别各是什么?...
- springbboot加密打包_Spring Boot 配置 Security 密码加密
- anaconda 安装pytorch_conda上安装PyTorch
- python绘制散点图的步骤_python如何绘制散点图?
- mysql架构深入_mysql性能优化2:深入认识mysql体系架构
- java 非静态 初始化_Java非静态代码块和实例初始化过程
- mysql8.0.11启动不了_8.0.11版本Mysql遇到MySQL 服务无法启动的解决方法
- python绘制折线图显示数据_漂亮图表也可用python信手拈来!一文教你学会用Python绘制堆积折线图...
- 计算机专业好还是铁道运输管理好,铁道运输管理专业主要是干什么的?