早上好, 我在用户对象中创建购物车字段时遇到问题,更确切地说,我定义了一个简单的模型
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
name:{
type:String,
required: true
},
cart:[
{qty:{type:Number,required:true}},
{product:{type:String,required:true}}
]
});
module.exports= mongoose.model('user',userSchema);
当我尝试使用上述模型在数据库中插入数据时,发生意外行为: 如果我使用以下代码将数据发送到数据库:
const cart = {product:'lamp', qty:4};
const utente = new User({
name:'mario',
cart:cart
});
utente.save()
它将被保存为:
_id:5f06e8140a3290711bb7681f 名称:“ mario” 购物车:数组 0:对象 _id:5f06e8140a3290711bb76820 数量:4 __v:0
您可以看到,而不是获得包含带有“灯”的产品密钥的购物车阵列 值和数量为4的数量键,我得到一个包含_ID和数量的数组,为什么?
答案 0 :(得分:0)
架构定义中存在问题。当前,您已经在购物车数组中定义了两个JSON对象。请尝试按如下所示更新架构以获得问题中提到的预期结果
const userSchema = new mongoose.Schema({
name: {
type: String,
required: true,
},
cart: [
{
qty: { type: Number, required: true },
product: { type: String, required: true },
},
],
});