我遇到的问题是使用mongoose(Mongodb)进行一对多映射。一个是订单(买方数据),其中许多是商品(价格,数量等)。
1)我应该如何为订单和项目创建架构,比如我应该将订单中的项目放入数组中吗?
2)所有数据都在一个帖子函数中吗?
我放牧你可以使用ObjectId链接多个到一个,但我不知道如何。
答案 0 :(得分:15)
由于订单听起来会有相对较少的商品,最简单的事情可能只是商品ID列表:
var OrderSchema = new mongoose.Schema({
items: [{type: mongoose.Schema.Types.ObjectId, ref: 'Item'}]
});
var ItemSchema = new mongoose.Schema({
price: Number,
quantity: Number
});
大多数用户界面都不会在单个POST功能中构建整个订单,因此最好允许创建订单,然后通过order.items.push(itemId)
单独向其添加商品。