Mongoose时一个用于异步环境的MongoDB的对象模型。

前提条件

先确保本地已经安装了Node.js和一个可以连接上的MongoDB。

安装Mongoose

Mongoose和其他的依赖模块一样安装,使用npm 命令:

  1. npm install mongoose --save

连接到MongoDB

  1. // 导入mongoose 模块
  2. var mongoose = require('mongoose');
  3. // 设置mongodb 连接地址
  4. const mongoURL ="mongodb://10.9.77.60:18090/LazyCat";
  5. // 连接mongodb 设置
  6. mongoose.connect(mongoURL,{
  7. });
  8. // 获取连接信息 并输出
  9. var db = mongoose.connection;
  10. console.log(db)
  11. // 测试是否连接上
  12. db.on('error', console.error.bind(console, 'mongodb connection error:'));
  13. db.once('open', function() {
  14. console.log("mongodb connection success!")
  15. });
  16. module.exports=mongoose;

定义Schema

schema是mongoose里会用到的一种数据模式,可以理解为表结构的定义;Mongoose的一切都始于一个Schema。每个schema会映射到mongodb中的一个collection,但是不具备操作数据库的能力。

  1. var mongoose = require('mongoose');
  2. var Schema = mongoose.Schema;
  3. var userSchema = new Schema({
  4. name: String,
  5. password: String
  6. });

创建一个Model

定义好了Schema,接下就是生成Model。
Model是由schema生成的模型,而且可以对数据库的进行操作。

  1. // 创建一个model 'user'是mongoDB中的表名 userSchema 是刚创建的schema
  2. var user = mongoose.model('user', userSchema);

简单增删改查

  1. // ============select=================
  2. User.find({},function (err,users) {
  3. if(err) throw err;
  4. console.log(users);
  5. });
  6. User.find({name:"vidor"}, function(err, user) {
  7. if(err) throw err;
  8. console.log("Specify User:");
  9. console.log(user);
  10. });
  11. // ============add=================
  12. var a = new User({
  13. name:"admin2",
  14. password:"admin2"
  15. });
  16. a.save(function (err) {
  17. if(err) throw err;
  18. console.log('user saved')
  19. });
  20. // ============update=================
  21. let oldU = {'name':'admin2'};
  22. let newU = {'name':'adminNew'}
  23. User.update(oldU,newU,function (err,res) {
  24. if(err) throw err;
  25. console.log(res);
  26. });
  27. // ============delete=================
  28. User.remove({'name':'admin3'},function (err,res) {
  29. if(err) throw err;
  30. console.log(res);
  31. });

更多帮助

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