【问题标题】:sailsjs model property of type object, possible?对象类型的sailsjs模型属性,可能吗?
【发布时间】:2017-01-22 20:08:46
【问题描述】:

以下是我的风帆模型,每当我尝试 save() 时都会收到以下错误

[Error: Unknown rule: address]

使用与猫鼬相似的模型,没有任何问题,有人能看到我的模型中的任何错误吗?

谢谢!

/**
 * Users.js
 *
 * @description :: TODO: You might write a short summary of how this model works and what it represents here.
 * @docs        :: http://sailsjs.org/documentation/concepts/models-and-orm/models
 */

module.exports = {

  connection: 'MongoServer',

  attributes: {
       AcctSessionId: {type: 'string', required: false, default: ''},
       UserName: {type: 'string', required: true, unique: true},
       UserPassword: {type: 'string', required: true},
       AcctStartDelay: {type: 'string', required: false, default: ''},
       AcctStopDelay:{type: 'string', required: false, default: ''},
       AcctPlan: {type: 'string', required: false, default: ''},
       AcctResellerID: {type: 'string', required: false, default: ''},
       AcctPrice: {type: 'integer', required: false, default: ''},
       AcctCurrency: {type: 'string', required: false, default: 'LBP'},
       AcctEnabled: {type: 'boolean', required: false, default: true},
       AcctExpiry: {type: 'boolean', required: true},

      meta: {
        address: {type: 'string', required: false, default: ''},
        city: {type: 'string', required: false, default: ''},
        mobile: {type: 'integer', required: true, default: ''},
        email: {type: 'string', required: false, default: ''},
        name: {type: 'string', required: true, default: ''}
      }

  }
};

【问题讨论】:

    标签: node.js mongodb sails.js waterline


    【解决方案1】:

    您不能使用 Sails/Waterline ORM 嵌套这样的数据。问题在于meta : {} 位。就sails 而言,您定义了一个名为meta 的属性,并试图应用名为address, city, mobile, email 等的规则(例如type : 'string'),这些都不是有效规则。

    我建议您创建一个名为addressuserMeta 或类似名称的新模型,然后将address, city, mobile, email 等放入其中。然后将它们关联起来,或者,完全摆脱 meta : {} 包装器并拥有它......

    /**
    * Users.js
    *
    * @description :: TODO: You might write a short summary of how this model works and what it represents here.
    * @docs        :: http://sailsjs.org/documentation/concepts/models-and-orm/models
    */
    
    module.exports = {
    
       connection: 'MongoServer',
    
        attributes: {
            AcctSessionId: { type: 'string', required: false, default: '' },
            UserName: { type: 'string', required: true, unique: true },
            UserPassword: { type: 'string', required: true },
            AcctStartDelay: { type: 'string', required: false, default: '' },
            AcctStopDelay: { type: 'string', required: false, default: '' },
            AcctPlan: { type: 'string', required: false, default: '' },
            AcctResellerID: { type: 'string', required: false, default: '' },
            AcctPrice: { type: 'integer', required: false, default: '' },
            AcctCurrency: { type: 'string', required: false, default: 'LBP' },
            AcctEnabled: { type: 'boolean', required: false, default: true },
            AcctExpiry: { type: 'boolean', required: true },
    
            address: { type: 'string', required: false, default: '' },
            city: { type: 'string', required: false, default: '' },
            mobile: { type: 'integer', required: true, default: '' },
            email: { type: 'string', required: false, default: '' },
            name: { type: 'string', required: true, default: '' }
        }
    };
    

    请参阅sails attributes,了解您可以或不能在模型描述中添加的内容

    【讨论】:

      猜你喜欢
      • 2018-03-20
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      相关资源
      最近更新 更多