官网

Mongoose.js中文网 (mongoosejs.net)

基本使用安装

最新的是mongoose8.0.0版本,基于Promise,以前的版本是基于回调函数。

  • npm
npm i mongoose
  • yarn
yarn add mongoose

使用

以mongoose8.0.0举例:

// 1-引入mongooseconst mongoose = require("mongoose");// 2-连接数据库mongoose    .connect("mongodb://127.0.0.1:27017/test")    .then(() => {        console.log("数据库连接成功!");        // 3-创建结构        const userSchema = new mongoose.Schema({            id: {                type: Number,                index: true,                unique: true,            },            name: String,        });        // 4-创建模型        const userModel = mongoose.model("user", userSchema);        // 5-对数据库进行操作        // 增        const user = new userModel({            id: 1,            name: "kaka",        });        userModel.create(user);    })    .catch(() => {        console.log("数据库连接失败!");    });

字段字段类型

文档结构可选的常用字段类型列表

类型描述
String字符串
Number数字
Boolean布尔值
Array数组,也可以使用[]来标识
Date日期
BufferBuffer对象
Mixed任意类型,需要使用mongoose.Schema.Types.Mixed指定
ObjectId对象ID,需要使用mongoose.Schema.Types.ObjectId指定
Decimal128高精度数字,需要使用mongoose.Schema.Types.Decimal128指定

字段值验证

Mongoose有一些内置验证器,可以对字段值进行验证。

必填项

title: {type: String,required: true // 设置必填项}

默认值

author: {type: String,default: '匿名' // 设置默认值}

枚举值

gender: {type: String,enum: ['男', '女'] // 设置的值必须是数组中的}

唯一值

username: {type: String,unique: true // 字段值必须唯一}

unique需要重建集合才能有效果