简化来说,一个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}
}]}
});
ringa_lee2017-05-02 09:21:30
스토어는 사용자 이름, 비밀번호, 로그인 권한을 기록하기 위해 아래에 배열이 생성되는 별도의 계정입니다.
{
상점 이름:XXXXX,
계정:[
{
}]
}
그런 다음 accouts.loginname 고유 인덱스를 만듭니다.
mongo를 사용하는 경우 현재 ODM 아이디어 중 상당수가 ORM 아이디어로 설계되어 있지만 저는 그렇게 하지 않는 경향이 있습니다. 그들을 사용하십시오. json을 직접 작성
물론, 로그인 이름 레이어에 아바타 소개 등 사용자의 상세 정보를 넣을 수도 있고, 테이블을 생성할 수도 있습니다