mongoose - Mongoose:findOneAndUpdate 返回奇怪的结构
问题描述
a = await db.a.findOneAndUpdate({id}, {...doc}, {
upsert: true,
new: true
});
b = await db.b.findOneAndUpdate({id}, {...doc}, {
upsert: true,
new: true
});
a 返回正常结果
{...}
b 返回奇怪的结果
{
"$__":
{
"strictMode": true,
...
},
"isNew": false,
"_doc":
{
...
},
"$init": true
}
Mongoose 不是在对象中返回文档,而是在对象中以一种奇怪的结构返回文档_doc
。
PS,设置rawResult
false 没有帮助。
这些是模型a和模型b:
db.a = mongoose.model('a', (Schema, ObjectId) => new Schema({
objectid: ObjectId,
title: String
}));
db.b = mongoose.model('b', (Schema, ObjectId) => new Schema({
objectid: ObjectId,
text: String
}));
原来是Mongoose的bug……杀死Node进程并重新启动后,它现在表现正常。
解决方案
原来是Mongoose的bug……杀死Node进程并重新启动后,它现在表现正常。
推荐阅读
- oracle - OSB 11g 安装在检查操作系统认证和检查服务包时失败
- java - 如何在自动完成位置googlemap api中绑定(仅特定位置)
- css - 为什么 Lighthouse 考虑 clip: rect(0 0 0 0) 作为可访问性的有效解决方案
- spring - Spring Boot/Spring Kafka 中的 KafkaTemplate 抛出 NullPointerException
- python - 并行/多处理运行大型 python 脚本
- sql - 外键指的是同一张表的主键列
- terraform - 使用 terraform 创建跨帐户角色时出现错误错误:要求用户输入时出错:无法解析变量 policy_arns 的值
- python - 想要从 groovy 脚本执行 python 代码
- rest - 为什么 symfony FOSRest 包找不到合适的控制器?
- json - 输入是一个列表,输出是列表中嵌套字典的形式