node.js - 如何在 Mongoose 的“pre findOneAndUpdate”范围内取消设置字段?
问题描述
我正在尝试取消设置“pre findOneAndUpdate”范围内的“文本”字段。我过去使用的这 3 种不同的方法都行不通。如何删除此范围内的某些字段?
const UserSchema: SmartSchema = new SmartSchema({
id: Schema.Types.ObjectId,
userId: { type: Number, required: true },
text: String
});
UserSchema.pre('findOneAndUpdate', function(next: HookNextFunction) {
let query: Query = this as Query;
query
.update(
{},
{ 'text': undefined },
{ strict: false }
)
.exec()
// OR
query
.update(
{},
{ $unset: { 'text': undefined } },
{ strict: false }
)
.exec()
// OR
delete query._update.text;
next();
});
解决方案
推荐阅读
- db2 - db2 v7R1 - 触发器 INSERT New As XML Str
- mysql - MySQL:仅当另一列中的值唯一时才设置值
- php - 如何在 Firebird 中将 BLOB SUB_TYPE 0 转换为 TEXT?
- python - 在 pandas groupby DataFrame 中创建异常值列
- spring - Spring Websocket:如何通过任何 convertAndSend 或 convertAndSendToUser 方法拦截 SimpMessagingTemplate 发送的消息?
- xamarin - 使用 msbuild 命令行 xcarchive 到 ipa
- python - 以编程方式运行 Ansible 剧本?
- python - _mapnik 模块名称未找到
- c - 为什么这个 C 代码不起作用?
- memory - 如何使用 Intel Pin 在没有符号信息的可执行文件的用户定义函数中读取或写入内存值?