Model.create()上未返回Sails.js ID

时间:2016-06-17 06:29:18

标签: javascript mysql node.js sails.js

js,我正在使用MySQL。

所以在我的一个控制器中,我正在尝试创建一行,这工作正常,但我想知道为什么我没有回到特别<行>的 ID 以及其他细节。

以下是我的模型(位置)的样子

module.exports = {
    autoCreatedAt:false,
    autoUpdatedAt:false,

    attributes: {
        lat:{
            type: 'float',
            required: true
        },
        lng:{
            type: 'float',
            required: true
        },
        id: {
           type: 'integer', 
           primaryKey: true,
        }
    }
};

我的LocationController:

Locations.create(req.params.all(), function(err, loc){
    if(err) return res.negotiate(err)
    res.status(201);
    return res.json(loc);
})

我得到的回应是:

{
  "lat": 19.075984,
  "lng": 72.877656
}
  

我需要表格行的ID以及lat和lng

1 个答案:

答案 0 :(得分:2)

这是Waterline ORM问题:

请结帐https://github.com/balderdashy/waterline/issues/481可能会有所帮助

这是因为你设置了autoPK:false标志。因此,您可以重新打开并从属性中删除id字段,或者将autoIncrement:true添加到id属性。

autoPK标志构建一个与您正在构建的id属性相同的id属性:

id:{     类型:'整数',     primaryKey:是的,     autoIncrement:true }