gpt4 book ai didi

javascript - SailsJS - 使用自定义 ID 创建新记录

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:01 24 4
gpt4 key购买 nike

在 SailsJS 中,当您创建一条新记录时,例如创建一个新用户,SailsJS 将为该记录生成一个随机 ID。在我正在进行的项目中,我想使用之前生成的当前 ID,而不是让 sailsjs 为我生成。

原因是我试图使 sailsjs 的 2 个实例彼此同步,并且记录的 ID 必须匹配。因此,当我将数据从一个 sailsjs 导入到另一个 sailsjs 时,我想确保一切都完全相同。我对常规数据没有任何问题,例如姓名、地址、电子邮件。但当涉及到 ID 时, sails 拒绝使用给定的 ID 创建记录。

请注意,我使用的是 MongoDB,它会生成诸如 “5420873b5b9338143ac15c09”之类的 ID

最佳答案

我找到了解决方案。

基本上在您的模型中,您必须添加 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,则该 ID 将不起作用,因为现在新的 PK 不同了。

Will not work : localhost:1337/user/id 
Will work: localhost:1337/user/ssn

关于javascript - SailsJS - 使用自定义 ID 创建新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26219554/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com