使用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 来执行命令
文章图片
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'}})
推荐阅读
- mongodb|SPL---强大的集算器
- 将”OnChange”添加到woocommerce选择元素的正确方法()
- 框架整合|java文件上传总结
- 九章算法电商秒杀系统 - Spring项目实战班学习笔记
- javascript入队问题
- 视差WordPress主题标签仅在Google Chrome中不起作用
- Owl轮播-使用上一个/下一个跳过过去的图像
- MongoDB认证与授权
- 需要帮助消除滚动菜单上的不透明度