猫鼬产品类别设计?

时间:2016-09-28 00:35:09

标签: mongodb mongoose

我想创建一个电子商务类型的数据库,其中我有使用Mongodb和Mongoose的产品的产品和类别。我想有两个系列,一个用于产品,一个用于类别。在线挖掘之后,我认为类别应该是这样的:

var categorySchema = {
  _id: { type: String },
  parent: {
    type: String,
    ref: 'Category'
  },
  ancestors: [{
    type: String,
    ref: 'Category'
  }]
};

我希望能够按类别找到所有产品。例如"找到所有手机。"但是,类别可能会重命名,更新等。实施产品系列的最佳方法是什么?在SQL中,产品将包含类别的外键。

非常感谢插入和查找文档的代码示例!

1 个答案:

答案 0 :(得分:0)

为什么不保持简单并执行以下操作?

var product_Schema = {
  phones:[{
           price:Number,
           Name:String,
         }],
      TV:[{
           price:Number,
           Name:String
         }]
};

然后使用投影,您可以轻松返回给定密钥的产品。例如:

db.collection.find({},{TV:1,_id:0},function(err,data){
    if (!err) {console.log(data)}
})

当然,正确的架构设计将取决于您如何计划查询/插入/更新数据,但使用mongo保持简单通常可以获得回报。