前言
在使用 Mongoose 开发 Node.js 应用时,我们经常会用到 JavaScript 的展开运算符(spread operator)来合并对象。然而,当你对 Mongoose 文档使用展开运算符时,可能会遇到一个隐蔽的问题:Mongoose 的内部属性会意外地被复制到新对象中。
问题重现
让我们通过一个简单的例子来看看这个问题:
// 定义一个简单的 Schema
const UserSchema = new mongoose.Schema({
name: String,
email: String,
posts: [{
title: String,
content: String
}]
});
const User = mongoose.model('User', UserSchema);
2024/8/18大约 5 分钟
