简化来说,一个shop一般有一些属性类似:
那么在对这个schema进行操作的时候,通常是有一个账户来访问node.js里面的路由。
比如账户名称是shopName,密码是password
但是现实情况是,一个店铺可以有好几个帐号,帐号之间的权限会不一样。比如,店小二的帐号权限只能添加一个商品。而老板的帐号权限可以删除一个订单。
这个在mongodb里面实现的大致思路是什么呢?
module.exports = function( mongoose) {
var ShopSchema = new mongoose.Schema({
shopName: { type: String, unique: true },
password:{type:String},
address: { type: String},
location:{type:[Number],index: '2d'},
shopPicUrl: {type: String},
shopPicTrueUrl:{type: String},
mark: { type: String},
open:{type:Boolean},
shopType:{type:String},
dish:{type:[DishSchema]},
order:{type:[{
orderId:{type: String},
date:{type: Date,default: Date.now},
dish:{type: [DishSchema]},
userId:{type: String}
}]}
});
var DishSchema = new mongoose.Schema({
dishName: { type: String},
tags: { type: Array},
price: { type: Number},
intro: { type: String},
dishPic:{ type: String},
index:{type:Number},
comment:{type:[{
date:{type: Date,default: Date.now},
userId:{type: String},
content:{type: String}
}]}
});
Stor ialah akaun berasingan Satu tatasusunan dibuat di bawah untuk merekodkan nama pengguna, kata laluan dan kebenaran log masuk.
{
nama kedai:XXXXX,
akaun:[
{
}]
}
Kemudian buat index accouts.loginname unik
Jika anda menggunakan mongo, fikir dengan cara mongo Banyak ODM semasa direka dengan idea ORM dan saya cenderung untuk tidak melakukannya gunakan mereka. Tulis json terus
Sudah tentu, anda boleh meletakkan maklumat terperinci pengguna ke dalam lapisan nama log masuk, seperti pengenalan avatar, dll. Anda juga boleh membuat jadual