Nodejs连接mongodb数据库

一、安装Node对mongodb的支持
下载并安装mongoose

npm install mongoose@4.11.0 -S

二、使用mongooes连接并选择数据库(db.js)
const mongoose = require(“mongoose”);

连接mongodb并选择指定数据库:dbName
mongoose.connect("mongodb://localhost:27017/dbName");

连接成功
mongoose.connection.on("connected",()=>{ })
连接断开
mongoose.connection.on("disconnected",()=>{ })
连接错误
mongoose.connection.on("error",()=>{ })

连接成功之后,将该模块暴露出来:
module.exports = mongoose

三、创建集合(users.js)
引入数据库的连接
const mongoose = require("./db.js")

创建集合需要使用的通用对象
const Schema = mongoose.Schema;
说明集合需要使用的字段和类型
const userSchema = new Schema({
    userId:{type:String},
    userName:{type:String},
    pass:{type:String},
    age:{type:Number},
    city:{type:String},
    tel:{type:String}
})

创建集合后,将该模块暴露出来
module.exports = mongoose.model("userMsg", userSchema);

四、插入数据(insert.js)
引入创建集合(在创建集合中,引入了连接数据库)
const User = require("./users.js");

插入语法:
插入单条数据:User.insertMany({}, (err)=>{})
插入多条数据:User.insertMany([{},{},…], (err)=>{})

注意:数据操作,属于异步操作,需要在回调函数中查看插入结果

五、查询数据(find.js)
引入创建集合(在创建集合中,引入了连接数据库)
const User = require("./users.js");

查询语法:
查找全部:
User.find({},{},(err, data)=>{})
     参数1:对象,为查询条件
     参数2:对象,要返回的字段
     参数3:函数,查询结束后执行
         err:报错信息
         data:查询到的数据
还有一种类似于回调函数的方法:exec
User.find({},{}).exec((err, data)=>{})

区间查找:
User.find({key: {$lte:maxVal, $gte:minVal}},{}).exec((err, data)=>{})
User.find({key: /^张/},{}).exec((err, data)=>{})
注意:
    ^ 表示必须以指定内容开头
    如果查询的内容是变量,需要使用eval转换:eval("/"+变量名+"/")

六、删除数据(delete.js)
引入创建集合(在创建集合中,引入了连接数据库)
const User = require("./users.js");

删除语法:
删除一条:User.deleteOne({key: val}, (err)=>{})
删除多条:User.deleteMany({key: val}, (err)=>{})
删除全部:User.deleteMany({}, (err)=>{})

七、修改数据(update.js)
引入创建集合(在创建集合中,引入了连接数据库)
const User = require("./users.js");

修改语法:
修改一条:User.updateOne({key: val}, {$set: {kay: val}}, (err)=>{})
修改一条(自增/自减):User.updateOne({key: val}, {$inc: {kay: val}}, (err)=>{})
修改多条:User.updateMany({key: val}, {$set: {kay: val}}, (err)=>{})
修改多条(自增/自减):User.updateMany({key: val}, {$inc: {kay: val}}, (err)=>{})
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值