[英]Object inside array impossible to update
我在 Mongoose 中有我的 model,里面有一个对象数组。 在这个数组中,我有一个名为 disabledBy 的 object,我想为其设置数据,但 ZCCADCDEDB567ABAE643E15DCF0974E503Z 总是告诉我它没有收到关于 object 的信息。
这是我的 Model:
购买
...
payments: [{
createdAt: {
type: String,
required:true
},
paymentNumber: {
type: Number,
default:0
},
previousBalance:{
type: Number,
required: [true, 'El Saldo anterior es obligatorio'],
default:0
},
paymentAmount:{
type: Number,
required: [true, 'La Cantidad del Pago(Abono) es obligatorio'],
default:0
},
outstandingBalance:{
type: Number,
required: [true, 'El Saldo pendiente es obligatorio'],
default:0
},
createdBy:{
uid : { type: String, required: true },
username:{ type: String, required: true }
},
comments: {
type: String,
maxlength:300,
},
status: {
type: Boolean,
default: true
},
disabledBy:{ // this is the object i try to update
uid:{
type: String,
required:true
},
username:{
type: String,
required:true
},
date:{
type: Date,
default: Date.now
},
comments: {
type: String,
maxlength:300,
required: [true, 'El Comentario es obligatorio']
}
}
}],
这是我来自 Express 的代码:
const payment = await Purchase.updateOne(
{ _id: id, 'payments._id': body.paymentId },
{
$set: {
'payments.$.status': false,
'payments.$.disabledBy': {
uid: req.user._id,
username: req.user.username,
comments: body.comments
}
}
} ,{ new: true });
需要注意的是,当尝试更新支付的状态属性时,它是正确执行的,但不是 disabledBy。
这是ZCCADCDEDB567ABAE643E15DCF0974E503Z报告的错误:
错误购买验证失败:payments.0.disabledBy.comments:El Comentario es obligatorio,payments.0.disabledBy.username:路径
disabledBy.username
是必需的,payments.0.disabledBy.uid:路径disabledBy.uid
是必需的。
即使我想在 disabledBy 中设置的信息是正确的,我总是会收到 Mongoose 错误。 我该如何设置该信息? 谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.