Mongoose时一个用于异步环境的MongoDB的对象模型。
前提条件
先确保本地已经安装了Node.js和一个可以连接上的MongoDB。
安装Mongoose
Mongoose和其他的依赖模块一样安装,使用npm 命令:
npm install mongoose --save
连接到MongoDB
// 导入mongoose 模块var mongoose = require('mongoose');// 设置mongodb 连接地址const mongoURL ="mongodb://10.9.77.60:18090/LazyCat";// 连接mongodb 设置mongoose.connect(mongoURL,{});// 获取连接信息 并输出var db = mongoose.connection;console.log(db)// 测试是否连接上db.on('error', console.error.bind(console, 'mongodb connection error:'));db.once('open', function() {console.log("mongodb connection success!")});module.exports=mongoose;
定义Schema
schema是mongoose里会用到的一种数据模式,可以理解为表结构的定义;Mongoose的一切都始于一个Schema。每个schema会映射到mongodb中的一个collection,但是不具备操作数据库的能力。
var mongoose = require('mongoose');var Schema = mongoose.Schema;var userSchema = new Schema({name: String,password: String});
创建一个Model
定义好了Schema,接下就是生成Model。
Model是由schema生成的模型,而且可以对数据库的进行操作。
// 创建一个model 'user'是mongoDB中的表名 userSchema 是刚创建的schemavar user = mongoose.model('user', userSchema);
简单增删改查
// ============select=================User.find({},function (err,users) {if(err) throw err;console.log(users);});User.find({name:"vidor"}, function(err, user) {if(err) throw err;console.log("Specify User:");console.log(user);});// ============add=================var a = new User({name:"admin2",password:"admin2"});a.save(function (err) {if(err) throw err;console.log('user saved')});// ============update=================let oldU = {'name':'admin2'};let newU = {'name':'adminNew'}User.update(oldU,newU,function (err,res) {if(err) throw err;console.log(res);});// ============delete=================User.remove({'name':'admin3'},function (err,res) {if(err) throw err;console.log(res);});
