У нас есть реплика MongoDB, и мы читаем ее на скандалах, в бэкэнде мы используем перышки-мангусты с перьями-мангустами, а у документа есть вложенный документ. После внесения патча мы возвращаем старый вложенный документ. Мы уже установили new: true
, а также попробовали returnNewDocument: true
const params = {
mongoose: {
new: true
}
}
Просмотр документации по перьям-мангусту сказал мне, что мангуст в параметрах следует указывать как параметры для мангуста: https://github.com/feathersjs-ecosystem/feathers-mongoose#paramsmongoose
Но у вложенного документа все еще есть старый идентификатор. Есть ли что-то особенное для вложенных документов? Меня также смущает документация по mongoose и mongodb, потому что mongoDB сшивает только для того, чтобы знать returnNewDocument
, а mongoose только new
?
MongoDB: https://docs.mongodb.com/v4.2/reference/method/db.collection.findOneAndUpdate/
Мангуст: https://mongoosejs.com/docs/migration.html#findandmodify-new < / а>
Схема выглядит так:
const timeSchema = new Schema({
weekday: {
type: Number,
min: 0,
max: 6,
required: true,
},
startTime: { type: Number },
duration: { type: Number },
eventId: { type: String },
room: { type: String },
});
const courseSchema = getUserGroupSchema({
description: { type: String },
startDate: { type: Date },
untilDate: { type: Date },
shareToken: {
type: String,
unique: true,
sparse: true,
},
// here is the reference
times: [timeSchema],
// optional information if this course is a copy from other
isCopyFrom: { type: Schema.Types.ObjectId, default: null },
features: [{ type: String, enum: Object.values(COURSE_FEATURES) }],
...externalSourceSchema,
});