本文主要介绍mongoose的一些常用API。安装数据库连接中间件npminstallmongoose-s进入mongodb安装目录,找到bin文件夹,执行命令>mongod--dbpath=项目的db路径注意:每次重连前,需要删除.lock文件,官网下载Mongodb可视化操作工具,操作数据库https://robomongo.org/download首先,我们还需要搭建node+express架构//搭建expressservervarexpress=require('express');varserver=express();//使用Promise判断,先连接数据库成功再启动服务器。newPromise((resolve,reject)=>{//connectmongodbvarmongoose=require('mongoose');mongoose.connect('mongodb://localhost:27017',(error)=>{if(error){控制台.log('数据库连接失败');console.log(error);}else{console.log('数据库连接成功');resolve();}})}).then(()=>{server.listen(8080,'localhost',(req,res)=>{console.log('serverstartup@localhost:8080');})//将数据库模型操作封装到handleDBjs文件中,当服务器启动成功之后获取db模型的数据require('./handleDB');})新建一个js文件handleDBvarmongoose=require('mongoose');//定义表字段和字段类型varuserSchema=({username:String,password:String,age:Number,sex:{type:String,default:'female'}})//表名userconstUserModel=mongoose.model('user',userSchema);插入一条数据constuserModel=newUserModel({username:"aaa",password:'223434',age:22,sex:'female'})userModel.save().then((result)=>{if(result){console.log('一条数据插入成功');console.log(result);}else{console.log('数据保存失败');}});组装条件查询//根据条件查询,使用whereUserModel.where({username:'aaa'}).find().then(res=>{if(res){console.log('-----------findWhere--------------------');console.log(res);}})//也可以将条件写入find({}),达到和whereUserModel.find({username:'aaa'}).then(res=>{if(res){console.log('---------------find()------------------------');console.log(res);}})查询UserModel.findById("5acc7d3b948dfe204475d02e").then(res=>{if(res){console.log("-----------------findById----------------");console.log(res);}})更新操作/修改操作,修改第一个查询UserModel.update(//条件查询{age:22},{sex:'nvnvnv'}).then(res=>{console.log('---------------------更新------------------')console.log(res);})UserModel.findByIdAndUpdate('5acc7d3b948dfe204475d02e',{username:'hahaaaaaaaaaaaaaaaaa'}).then(res=>{console.log('-----------findByIdAndUpdate------------');console.log(res);})UserModel.findOneAndUpdate({username:'aaa',username:'dh'}).then(res=>{if(res){console.log('------------findOneAndUpdate------------');console.log(res);}})删除操作UserModel.remove({username:'aaa2'}).then(res=>{if(res){console.log('------------remove0------------');console.log(res);}})
