我对mongoDB有一个疑问,即猫鼬:
假设我有2个模型:1)产品模型2)用户模型
const ProductSchema = new Schema({
title: String,
description: String,
product_type: String,
image_tag: String,
created_at: Number,
price: Number
});
const Product = module.exports = mongoose.model('product', ProductSchema);
const UserSchema = new Schema({
login: String,
email: String,
password: String,
purchases: [{
type: Schema.Types.ObjectId,
ref: 'product'
}]
});
const User = module.exports = mongoose.model('user', UserSchema);
当用户购买一些商品时,我只是将产品添加到用户模型的购买数组中(使用push方法)。如果需要将购买的ID与完整的描述相匹配,请使用填充。
问题是我需要以某种方式控制用户进行的每次购买的数量->我需要在数组内的每个购买对象中添加其他字段...诸如数量或总计之类的东西
const UserSchema = new Schema({
...
purchases: [{
type: Schema.Types.ObjectId,
ref: 'product',
quantity: {
type: Number,
default: 1
}
}]
});
我被困住了,不知道如何实现这一点。上面的示例不起作用。
答案 0 :(得分:0)
尝试一下,这种方式肯定会起作用:
const UserSchema = new Schema({
purchases: [{
ref: {
type: Schema.Types.ObjectId,
ref: 'product'
},
quantity: {
type: Number,
default: 1
}
}]
});