概念
Node.js 的优雅 mongodb 对象建模
Mongoose 提供了一种直接的、基于模式的解决方案来对应用程序数据进行建模。它包括开箱即用的内置类型转换、验证、查询构建、业务逻辑挂钩等
安装
npm i mongoose
具体例子
E:\Nextjs\mongoose-use-demo\app\api[crud]\route.ts
连接数据库
E:\Nextjs\mongoose-use-demo\lib\db.ts
import mongoose from 'mongoose';
export const connectDB = async () => {
try {
await mongoose.connect(process.env.MONGO_URI as string)
console.log('db is connect with', mongoose.connection.host);
} catch (error) {
console.log("Error connecting to MongoDB: ", error);
}
}
E:\Nextjs\mongoose-use-demo.env.local
MONGO_URI=mongodb://127.0.0.1:27017/mongoose-use-demo
定义架构(表中字段)
Mongoose 中的一切都始于架构。每个架构映射到一个 MongoDB 集合并定义该集合 中 文档的形状
import mongoose from 'mongoose';
const { Schema } = mongoose;
const blogSchema = new Schema({
title: String, // String is shorthand for {type: String}
author: String,
body: String,
comments: [{ body: String, date: Date }],
date: { type: Date, default: Date.now },
hidden: Boolean,
meta: {
votes: Number,
favs: Number
}
});
https://mongoosejs.com/docs/guide.html
简单例子
const User = new Schema({
name: String,
age: Number,
sex: String
});
代码将在每次测试之前尝试创建一个名为“ModelName”的新模型
用户架构
src/models/User.js
import mongoose from "mongoose";
const { Schema } = mongoose;
const