在之前的文章中,我们对于Node有了一个基本的了解和操作,今天就讲一下Node如何操作数据。在此之前,我们先要了解数据库的概念。
一、数据库的概念
数据库就是数据的仓库,用来对数据进行一个存储,它可以与多个用户共享数据,具有尽可能小的冗余度,是一个数据集合。数据库有很多,像MySql,DM,DB2,SQL Server,MongoDB,BaseX 等等。
数据库分为非关系型数据库(Nosql)和关系型数据库(SQL),它们之间是由很多区别,就像:
而我们今天要说的MongoDB,就是一个非关系型数据库。
二、MongoDB
MongoDB 是一款流行的开源文档型数据库,MongoDB 在概念模型上参考了 SQL数据库,但并非完全相同。因此,有人就觉得MongoDB是非关系型数据库中最像sSQL的(SQL是关系型数据库)。它对于数据的操作命令是基于JSON/BSON 格式的语法。有趣的是,MongoDB可以进行SQL查询,但是得借助第三方工具,感兴趣的兄弟可以去搜一下。
那么,如何使用MongoDB?
其实就两个步骤:
1.安装MongoDB,下面是地址。MongoDB:应用程序数据平台 | MongoDBhttps://www.mongodb.com/zh-cn 2.安装完成后,打开cmd 进入到 C:\Program Files\MongoDB\Server\5.0\bin 目录下,打开终端, 通过执行 mongo 命令,连接本地服务器 。
这样就可以在cmd中连接到MongoDB数据库了,接下来说一下MongoDB的一些执行命令。
1.数据库操作
查看数据库 show dbs 默认的数据库 config local admin
打开数据库(创建数据库) use 数据库名称 如果数据库不存在,就会自动创建,然后再打开
注意 : 如果新创建的数据库中没有集合 , 数据库查不到 show dbs 不显示新创建的数据库
删除数据库 db.dropDatabase() 删除当前打开的数据库
2.集合操作
查看集合 show collections
创建集合 db.createCollection("student”)
删除集合 db.集合名称.drop()
3.数据操作
添加文档 insert / insertMany
添加一条文档 db.集合名称.insert( { } )
添加多条文档 db.集合名称.insertMany( [ {},{},{},... ] )
查询文档 find( { 查询条件 },{ 查询投影字段 } )
查询所有数据 db.stu.find()
查询学生姓名和年龄字段 db.stu.find( {},{ name:1 , age:1 , _id : 0} ) 1表示显示 0 表示隐藏id
4.条件查询 :
$and 并且 $or 或者
$gt 大于 $gte 大于等于
$lt 小于 $lte 小于等于
$ne 不等于
$in 包含 值是一个数组
举几个例子:
查询年龄大于20的学生信息 db.stu.find( { age : { $gt:20 } } )
查询年龄在15—25之间的学生信息
查询家庭住址是保定的学生信息 db.stu.find( { addr : "保定" } )
查询年龄大于20并且家庭住址是保定的学生信息 db.stu.find( { $and : [ { age : { $gt:20 } } , {addr : "保定"} ] } )
查询家庭住址是保定或者深圳的学生信息 db.stu.find( { addr : { $in : [ "保定","深圳" ] } } )
5.模糊查询 : 正则
包含 : /思/ 字符串中包含一个思 字符串主要符合这个正则规范 张思雨 李思思
查询学生的姓名 包含思的学生信息 db.stu.find( { name : /思/ } )
6.排序查询 sort()
查询学生信息 并按照年龄排序 db.stu.find().sort( { age : 1 } ) 1表示升序 -1 降序
7.分页查询 skip() 跳过 limit() 获取前几条数据
跳过前两条数据 并 查询后面的数据 db.stu.find().skip(2)
获取前2条数据 db.stu.find().limit(2)
查询第 2--5 条数据 db.stu.find().skip(1).limit(4)
8.修改
修改文档 update( {条件},{$set : { 修改字段 } } , 是否新增true/false , 是否修改多行 )
是否新增 : 如果要修改的字段不存在,会自动新增该字段
是否修改多行 : 如果满足条件的数据有多条,false只能修改第一条数据,true可以修改多条数据
修改年龄大于20的学生住址为"广西" db.stu.update( { age:{$gt:20} } , {$set : { addr : "广西" , name:"aaa" } } , true , false )
9.删除
删除文档 remove( { 条件 } )
清空集合数据 db.stu.remove({})
按条件删除 db.stu.remove({条件})
三、Node操作MongoDB
在我们使用express命令快速创建好服务器之后,就可以使用MongoDB了,也是有几个步骤。
首先就是在当前文件夹下,创建一个model文件夹用来放MongoDB的配置文件
然后再model文件夹下再去创建model.js文件和db.js文件,前者是配置数据库中的集合,后者是服务器连接数据库的配置。
接下来,我们要引入一个知识点------mongoose
Mongoose 是一个用于在 MongoDB 中编写和查询模型的库,可以让你简化数据库操作。
首先再项目中使用npm下载mongoose,然后再db.js中导入使用。
直接上代码!
在model.js中定义的是数据集合,也就是表。
最后暴露就ok了。
然后就可以写接口使用了
好了,以上就是关于今天的所有内容,有什么问题可以在评论区讨论,感谢观看!!!