,当您创建新记录时,例如创建新用户,SailsJS将为该记录生成随机ID。在我正在开发的项目中,我想使用之前生成的当前ID,而不是让sailsjs为我生成。
原因是我试图使两个sailsjs实例彼此同步,并且记录的ID必须匹配。所以当我从一个sailsjs导入数据到另一个时,我想确保一切都完全相同。我对常规数据没有任何问题,例如姓名,地址,电子邮件。但是当涉及到ID帆时,拒绝创建具有给定Id的记录。
请注意,我正在使用MongoDB,它会生成"5420873b5b9338143ac15c09"
答案 0 :(得分:1)
我找到了解决方案。
基本上在您的模型中,您必须添加autoPK:false
但是,如果您现在尝试运行sailsjs,则会出现错误
Error: Trying to create an association on a model that doesn't have a Primary Key.
要解决此问题,您需要为表指定不同的主键,在我的情况下是用户表。例如,您可以将SSN设置为主键。
ssn: {
type: "string",
primaryKey: true
}
但是现在请注意,如果你试图用旧的ID打不到sailsjs,因为新PK现在不同了。
Will not work : localhost:1337/user/id
Will work: localhost:1337/user/ssn