官網 Mongoose.js中文網 (mongoosejs.net) 基本使用 安裝 最新的是mongoose8.0.0版本,基於Promise,以前的版本是基於回調函數。 npm npm i mongoose yarn yarn add mongoose 使用 以mongoose8.0.0舉例: ...
官網
Mongoose.js中文網 (mongoosejs.net)
基本使用
安裝
最新的是mongoose8.0.0版本,基於Promise,以前的版本是基於回調函數。
- npm
npm i mongoose
- yarn
yarn add mongoose
使用
以mongoose8.0.0舉例:
// 1-引入mongoose
const 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 | 日期 |
Buffer | Buffer對象 |
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
需要重建集合才能有效果