我正在学习 Node、Mongo 和 Mongoose。我有以下内容:
async function addProductToSale (saleId, productId) {
let result = await saleModel.findByIdAndUpdate(
saleId,
{ $push: { productos: productId } },
{ new: true },
);
console.log(result);
};
当然它不起作用。我在控制台上得到 NULL 值(寄存器没有更新)并且找不到一些回调或错误变量来调试...
这也是架构
const ventaSchema = new mongoose.Schema({
autor: String,
total: Number,
pago: String,
productos: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Productox"
}
],
fecha: {type: Date, default: Date.now},
publicado: Boolean
});
module.exports = mongoose.model("Ventax",ventaSchema);
对不起我的英语...
我试图找到一些回调,似乎它已被删除...还审查了逻辑和选项,ID 很好,等等...我期望 Id 被推送到 Mongo 文档中...
要解决此问题,请确保您传递的 saleId 实际上存在于您的集合中。确保您有错误处理功能以捕获数据更新期间的任何潜在错误。
async function addProductToSale(saleId, productId) {
try {
let result = await saleModel.findByIdAndUpdate(
saleId,
{ $push: { productos: productId } },
{ new: true }
);
if (!result) {
console.log('No document found with the provided saleId');
} else {
console.log(result);
}
} catch (error) {
console.error('Error updating document:', error);
}
}