在风帆JS响应中没有看到Id

时间:2013-07-12 04:29:46

标签: sails.js

所以我正在搞乱SailsJS以试图获得API并快速运行。我还没有设置数据存储(可能会使用mongodb),但我看到我假设的是像SQLite数据库或其他东西。所以我为用户生成了一个模型和控制器。所以在浏览器中我点击了user / create。我看到createdAt和updatedAt但没有Id。我是否需要真正的数据存储来查看ID?这仍然是你免费获得的东西吗?

适配器

// Configure installed adapters
// If you define an attribute in your model definition, 
// it will override anything from this global config.
module.exports.adapters = {

    // If you leave the adapter config unspecified 
    // in a model definition, 'default' will be used.
    'default': 'disk',

    // In-memory adapter for DEVELOPMENT ONLY
    // (data is NOT preserved when the server shuts down)
    memory: {
        module: 'sails-dirty',
        inMemory: true
    },

    // Persistent adapter for DEVELOPMENT ONLY
    // (data IS preserved when the server shuts down)
    // PLEASE NOTE: disk adapter not compatible with node v0.10.0 currently 
    //              because of limitations in node-dirty
    //              See https://github.com/felixge/node-dirty/issues/34
    disk: {
        module: 'sails-dirty',
        filePath: './.tmp/dirty.db',
        inMemory: false
    },

    // MySQL is the world's most popular relational database.
    // Learn more: http://en.wikipedia.org/wiki/MySQL
    mysql: {
        module      : 'sails-mysql',
        host        : 'YOUR_MYSQL_SERVER_HOSTNAME_OR_IP_ADDRESS',
        user        : 'YOUR_MYSQL_USER',
        password    : 'YOUR_MYSQL_PASSWORD',
        database    : 'YOUR_MYSQL_DB'
    }
};

模型

/*---------------------
    :: User
    -> model
---------------------*/
module.exports = {

    attributes: {
        firstName: 'STRING',
        lastName: 'STRING'
    }

};

3 个答案:

答案 0 :(得分:0)

.../user/findAll列出所有用户。每个用户都应该有一个'id'属性,例如

{
   "username":"admin",
   "password":"$2a$10$SP/hWtlJINkMgkAuAc9bxO1iWsvVcglwEU4ctGCiYpx.7ykaFWt56",
   "createdAt":"2013-07-12T17:36:29.852Z",
   "updatedAt":"2013-07-12T17:36:29.852Z",
   "id":1
}

答案 1 :(得分:0)

他们删除了findAll你只需使用find instad

你也可以这样请求http://example.de/Model/create?firstname=Foo&lastname=bar

答案 2 :(得分:0)

我通过在相同的sails应用程序中切换不同的DB并且它的工作非常正常来检查这个。

因此,在这种情况下,您可以将autoPK的属性添加到模型中,并将其设置为true,如下所示:

module.exports = {
    attribute:{
       //your model attributes with validations.
    },
    autoPK:true
}

如果这不适合您,那么我认为您在系统上安装的风帆副本有问题。

请尝试使用npm安装较新版本的风帆(v0.9.8)或尝试使用较新版本(v0.9.8)的详细信息更新package.json并执行npm install。