我遇到的问题是与猫鼬(Mongodb)的一对多映射。一个是订单(买家数据),许多是商品(价格、数量等)。
1)我应该如何为订单和项目创建架构,比如我应该将项目按顺序放在数组中吗?
2)所有数据都在一个帖子功能中吗?
我认为您可以使用 ObjectId 将多个链接到一个,但我不知道如何。
由于 Order 听起来它的项目数量相对较少,因此最简单的可能只是项目 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)
.