recherche

Maison  >  Questions et réponses  >  le corps du texte

mongoose - mongodb, 商家数据库schema如何建立?

简化来说,一个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}
      }]}
    });
習慣沉默習慣沉默2788 Il y a quelques jours822

répondre à tous(1)je répondrai

  • ringa_lee

    ringa_lee2017-05-02 09:21:30

    Le magasin est un compte distinct. Un tableau est créé ci-dessous pour enregistrer le nom d'utilisateur, le mot de passe et les autorisations de connexion.
    {
    nom de la boutique :XXXXX,
    comptes :[
    {

    loginname:xxxx,
    password:xxxx,
    authority:[],

    }]
    >
    Ensuite, créez un index accouts.loginname unique
    Si vous utilisez mongo, pensez à la manière de mongo. La plupart des ODM actuels sont conçus avec des idées ORM, et j'ai tendance à ne pas le faire. utilisez-les. Écrivez json directement
    Bien sûr, vous pouvez insérer les informations détaillées de l'utilisateur dans la couche du nom de connexion, telles que l'introduction de l'avatar, etc. Vous pouvez également créer un tableau

    répondre
    0
  • Annulerrépondre