14 - mongoose

简介

nodejs环境下对 mongodb 进行便捷操作的对象模型工具

中文文档

安装

npm install mongoose --save

建立连接

// config/db.js
const mongoose = require('mongoose');
// 定义连接的地址,mz 是数据库的名字
const url = 'mongodb://localhost:27017/mz';

/**
 * 调用 connect 方法进行连接。
 * 1. 回调函数的方式
 * 2. promise 方式
 */

// mongoose.connect(url, { useNewUrlParser: true }, function(err) {
//   if (err) {
//     console.log('连接失败!', err.message);
//   } else {
//     console.log('连接成功~');
//   }
// })

mongoose
  .connect(url, { useNewUrlParser: true })
  .then(() => {
    console.log('连接成功~');
  })
  .catch(err => {
    console.log('连接失败!', err.message);
  })

// 最后将 mongoose 暴露出去
module.exports = mongoose;

schema

schema 是一种描述 mongodb 中 collection(集合) 结构的一种东西。

// models/banner.js
// 引入 db.js 
const db = require('../config/db.js');

// 定义 schema
const schema = new db.Schema({
  name: String,   // banner 名字
  imgUrl: String, // banner 图片地址
  startTime: {    // banner 显示的开始时间
    type: Number,
    default() {
      return new Date().getTime()
    }
  },
  endTime: {      // banner 显示的结束时间
    type: Number,
    default() {
      return new Date().getTime() + 1 * 24 * 60 * 60 * 1000; // 当前时间加 1 天
    }
  }
});

// 基于 schema 创建 model, 并暴露出去。
module.exports = db.model('Banner', schema);

Schema 的类型:

  • String
  • Number
  • Date
  • Buffer
  • Boolean
  • Mixed
  • ObjectId
  • Array
  • Decimal128

model

基于 Schema 编译来的构造函数。model 的实例代表着可以从数据库保存和读取的 documents。从数据库创建和读取 document 的所有操作都是 通过 model 进行的。

上面 models/banner.js 文件最后暴露出去的就是 model

api操作文档

猜你喜欢

转载自blog.csdn.net/weixin_34236497/article/details/86846416