产品未更新 - Mongoose MongoDB
Product not updating - Mongoose MongoDB
我无法使用猫鼬更新和保存数据库中的更改。当我 console.log 时,我两次获得相同的 foundProduct
值。可能出了什么问题?
// Schema
const productSchema = new mongoose.Schema(
{
name: {
type: String,
required: true,
},
price: {
type: Number,
required: true,
},
onSale: {
type: Boolean,
default: false,
},
}
)
// model
const Product = mongoose.model('Product', productSchema)
const findProduct = async () => {
const foundProduct = await Product.findOne({ name: 'Mountain Bike' });
console.log(foundProduct)
foundProduct.OnSale = true;
await foundProduct.save().then((data) => console.log(data))
// console.log(foundProduct)
}
findProduct();
你打错了。将 foundProduct.OnSale = true;
更改为 foundProduct.onSale = true;
.
由于您使用了错误的大小写,Mongoose 认为 OnSale 是一个额外的字段。因为它不在您的模式中,所以在保存到数据库时会被忽略。
我无法使用猫鼬更新和保存数据库中的更改。当我 console.log 时,我两次获得相同的 foundProduct
值。可能出了什么问题?
// Schema
const productSchema = new mongoose.Schema(
{
name: {
type: String,
required: true,
},
price: {
type: Number,
required: true,
},
onSale: {
type: Boolean,
default: false,
},
}
)
// model
const Product = mongoose.model('Product', productSchema)
const findProduct = async () => {
const foundProduct = await Product.findOne({ name: 'Mountain Bike' });
console.log(foundProduct)
foundProduct.OnSale = true;
await foundProduct.save().then((data) => console.log(data))
// console.log(foundProduct)
}
findProduct();
你打错了。将 foundProduct.OnSale = true;
更改为 foundProduct.onSale = true;
.
由于您使用了错误的大小写,Mongoose 认为 OnSale 是一个额外的字段。因为它不在您的模式中,所以在保存到数据库时会被忽略。