我想创建一个电子商务类型的数据库,其中我有使用Mongodb和Mongoose的产品的产品和类别。我想有两个系列,一个用于产品,一个用于类别。在线挖掘之后,我认为类别应该是这样的:
var categorySchema = {
_id: { type: String },
parent: {
type: String,
ref: 'Category'
},
ancestors: [{
type: String,
ref: 'Category'
}]
};
我希望能够按类别找到所有产品。例如"找到所有手机。"但是,类别可能会重命名,更新等。实施产品系列的最佳方法是什么?在SQL中,产品将包含类别的外键。
非常感谢插入和查找文档的代码示例!
答案 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保持简单通常可以获得回报。