无法获得默认值以使用waterline / sailsjs

时间:2016-03-27 22:48:43

标签: javascript mongodb sails.js waterline

我正在尝试在数据库中创建新项目时为字段设置默认值,但我无法使其工作。

我目前正在使用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"
    }
}

知道我忘记了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我今天早些时候遇到过类似的问题。我能够通过添加必需的' true'来解决这个问题。

新用户模型示例:

 module.exports = {

    schema: true,

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

我希望这会有所帮助。