学习笔记|使用node.js来连接mongodb数据库

使用node.js来连接mongodb数据库
一:mongodb简介 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
二:准备工作 1、安装node.js,官网地址:https://nodejs.org/en/(建议大家安装稳定版本)
2、安装mongdb数据库 官网地址:https://www.mongodb.com/,并配置全局的环境变量
3:在cmd中使用npm下载所需要的库,这里所使用的是mongoose库,来进行对mongodb数据进行连接
4:初始化项目,npm init -y(个人的配置,在生成的package.json文件中进行修改)
在package.json文件中,我们可以scripts属性,改成我们需要使用的命令,使用npm run command 来执行命令
学习笔记|使用node.js来连接mongodb数据库
文章图片

5:安装supervisor库,来提高代码的执行效率,这样我们每次修改代码后,就不用每次去重启服务器了
6:创建一个服务(这里提供两种方式)
? 一:使用原生的方式进行创建

//引入http模块 const http = require('http') //创建一个服务 const server = http,creatServer({},(req,res) =>{ //req为前端请求的相关数据 //res为请求结果 }) //监听端口 server.listen(9001, () =>{ console.log('server started on port 9001') })

? 二:使用express框架来进行创建
//引入模块(这里express不是node内置模块,需要使用npm安装下载) const express = require('express') //创建一个实例对象 const server = express() //监听一个端口 server.listen(9000,() = >{ console.log('server started on port 9000') }) //使用插件来指定入口文件 server.use(express.static('path',{index:'login.html'})) //这里可以使用path来进行路径优化 /* const path = require('path') path不是内置库,需要使用npm下载 server.use(express.static(path.resolve(__dirname,static),{index:'login.html'})) __dirnaem 为当前目录路径 */ //接口管理 server.get/post('url',(res,rep) = >{})

7:连接数据库
//引入mongodb,这里使用的是mongoose库 //连接数据库 const mongoose = require('mongoose') const url = 'mongodb://localhost:27017/user_info' mongoose.coonet('url',(err) =>{ if(!!err){ console.log('db connect failed') throw err } else{ console.log('db connect success') } })

这个便可以在cmd中测试数据库有没有连接成功了
8:定义用户模型和描述信息
//定义集合字段描述信息 const Schema = mongoose.Schema const userScheam = new Schema({ userid:{ type:String, required: true //必须有值 }, username:{ type:String, required: true //必须有值 }, userpwd:{ type:String }, userphone:{ type:Number }, vtdcode:{ type:Number }, token:{ type:String } }) //定义用户模型 const userModel = mongoose.model('userScheam',userScheam,'user_info')

9:在接口中,通过用户模型对数据库进行操作
app.get('/user/login',(req,res) =>{ userModel.findOne({},{},(err,doc) =>{ if(!!err){ res.send({ code:500, message:'服务器错误,请稍后重试' }) } else{ res.send({ code:200, message:'请求成功', data:doc }) } }) })

【学习笔记|使用node.js来连接mongodb数据库】附:mongodb,常用的增删查改命令
1、显示当前数据库的所有集合:show collections; 2、向一个集合中插入一条数据:db.user_info.insert({id: 'admin', name: '超级管理员', pwd: 'admin123'}) 3、查询数据:db.user_info.find() 允许带一个查询条件以及获取到的字段({id: 'admin'}, {id:0/id:1}) 4、删除数据:db.user_info.remove({id: 'admin'}) 5、修改数据:db.user_info.update({id: 'admin'}, {$set: {name: 'zhangsan'}})

    推荐阅读