产品未更新 - 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 是一个额外的字段。因为它不在您的模式中,所以在保存到数据库时会被忽略。