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
}));
Оказывается, это ошибка Мангуста ... после уничтожения процесса Node и его перезапуска он теперь ведет себя нормально.