2017-01-22 3 views
1

다음은?sailsjs 객체 유형의 모델 속성이 가능합니까? 내가 어떤 문제없이, 내가 몽구스와 유사한 모델을 가지고 다음과 같은 오류</p> <pre><code>[Error: Unknown rule: address] </code></pre> <p>사용을 얻을) (저장하려고 할 때마다 내 돛 모델은 사람이 내 모델에서 어떤 실수를 볼 수 있었다,

감사합니다.

/** 
* 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: ''} 
     } 

    } 
}; 

답변

1

Sails/Waterline ORM을 사용하여 데이터를 중첩 할 수 없습니다. 문제는 meta : {} 비트입니다. 따라서 돛과 관련하여 meta이라는 속성을 정의했으며 address, city, mobile, email 등의 규칙 (예 : type : 'string')을 적용하려고했으나 유효한 규칙이 아닙니다.

address 또는 userMeta 또는 이와 비슷한 모델을 새로 만들고 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를 참조