10

我遇到的问题是与猫鼬(Mongodb)的一对多映射。一个是订单(买家数据),许多是商品(价格、数量等)。

1)我应该如何为订单和项目创建架构,比如我应该将项目按顺序放在数组中吗?

2)所有数据都在一个帖子功能中吗?

我认为您可以使用 ObjectId 将多个链接到一个,但我不知道如何。

4

1 回答 1

16

由于 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).

于 2013-07-18T01:57:39.467 回答