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 是刚创建的schema
var 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);
});