如何修复'当使用`sails-mongo`时,主键必须具有`columnName:'_id'`'

问题描述 投票:1回答:1

我正在使用:

  • “ sails”:“ 1.2.1”,
  • “ sails-mongo:” 1.0.1“

当我获得mongodb集合的文档时,出现类似这样的错误:

在模型“档案”中:调试:默认主键属性(`id`)设置不正确。调试:使用`sails-mongo`时,主键必须具有`columnName:'_id'`,debug:并且必须不具有autoIncrement:true。debug:此外,在大多数情况下(除非模型的`dontUseObjectIds`设置为`true`),debug:然后主键的“ type”也必须是“ string”。

sails.config.datastores.js

 module.exports.datastores = {
  default: {
    adapter: 'sails-mongo',
    host: 'localhost',
    port: 27017,
    database: 'test',
  }
};

sails.config.models.js

module.exports.models = {

  migrate: 'safe',
  attributes: {
    createdAt: { type: 'number', autoCreatedAt: true, },
    updatedAt: { type: 'number', autoUpdatedAt: true, },
    id: { type: 'string', columnName: '_id' },
  },
  dataEncryptionKeys: {
    default: 'RWcFGJN8+at5E7eIwNCIQxkR7P0nRAW8Fg4c9tzwFTw='
  },
  cascadeOnDestroy: true
};

api.models.User.js

module.exports = {

  tableName: 'user',
  attributes: {
    name: {
      type: 'string'
    },
    age: {
      type: 'number',

    }
  },

};

我运行api.controllers.UserController.js]时出错

module.exports = {
  getUsers: function (req, res) {
    let users = User.find();
    return res.send(users);
  },
};

我正在使用:“ sails”:“ 1.2.1”,“ sails-mongo”:“ 1.0.1”当我获得mongodb集合的文档时,我遇到了这样的错误:在模型`archive`中:调试:默认主键属性(`id`)是...

sails.js waterline sails-mongo
1个回答
0
投票

我认为您忘记了await运算符

© www.soinside.com 2019 - 2024. All rights reserved.