Node.JS -- Mongoose 快速入门

96
米阳MeYoung
2018.06.04 13:42* 字数 207

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);
});

更多帮助:

官方文档:http://mongoosejs.com/docs/index.html

Node.JS
Web note ad 1