由于一个订单听起来会有相对较少的项目,最简单的事情可能只是一个项目ID列表:
var OrderSchema = new mongoose.Schema({
items: [{type: mongoose.Schema.Types.ObjectId,ref: 'Item'}]
});
var ItemSchema = new mongoose.Schema({
price: Number,quantity: Number
});
大多数UI不会在单个POST函数中构建整个订单,因此最好允许创建一个订单,然后通过order.items.push(itemId)单独添加项目.