2016-03-27 31 views
0

我想在數據庫中創建新項目時將字段的默認值設置爲一個字段,但我無法使其工作。無法獲取默認值要使用waterline/sailsjs

我使用SailsJS 0.12.1目前,這是最新版本

這是我的文件看起來像:

型號/ Users.js

module.exports = { 

    schema: true, 

    attributes: { 
     firstName: { 
      type: 'string', 
      required: true, 
     }, 
     role: { 
      type: 'string', 
      enum: ['admin', 'user', 'limited', 'suspended', 'deleted'], 
      defaultsTo: 'limited' 
     }, 
    } 
} 

當元素在數據庫中創建,我沒有得到role值。它看起來像這樣:

{ 
    "_id": { 
     "$oid": "56f8616163a59cf813998f8a" 
    }, 
    "firstName": "Alex", 
    "createdAt": { 
     "$date": "2016-03-27T22:40:33.151Z" 
    }, 
    "updatedAt": { 
     "$date": "2016-03-27T22:40:33.151Z" 
    } 
} 

任何想法我忘了?

謝謝!

+0

sails-mongo適配器 – alexmngn

+0

嘗試用藍圖創建測試.... localhst:PORT/users/create?firstName = XYZ 然後看看你在做什麼! – vkstack

回答

1

今天早些時候我有類似的問題。我能夠通過添加所需的「真實」來解決此問題。

新用戶模型的實例:

module.exports = { 

    schema: true, 

    attributes: { 
     firstName: { 
      type: 'string', 
      required: true, 
     }, 
     role: { 
      type: 'string', 
      required: true, 
      enum: ['admin', 'user', 'limited', 'suspended', 'deleted'], 
      defaultsTo: 'limited' 
     }, 
    } 
} 

我希望這有助於。

+0

真棒!它修復了我的問題!雖然這似乎不適用於嵌套對象,你有建議嗎? '屬性:{ 喜好:{ 語言:{ 類型: '串', defaultsTo: '恩',需要 :真實, }} } ' – alexmngn

+0

@alexmngn我是相當新的SailsJS,但我認爲做這樣的事情的正確方法是爲偏好設置一個單獨的模型。你會在兩者之間建立聯繫。 [SailsJS協會](http://sailsjs.org/documentation/concepts/models-and-orm/associations) – jdaltonchilders