gpt4 book ai didi

sequelize.js - sequelize - 当主键是复合键时是否可以使用 findByPk?

转载 作者:行者123 更新时间:2023-12-03 22:34:31 24 4
gpt4 key购买 nike

我有一个名为 session 的模型,其中包含三个属性的复合键:seesionId、userNameId 和 accountId。
为了创建新记录,我需要检查是否已经存在具有相同 userNameId 和 accountId 的 session 。
findByPk 的 API:
public static async findByPk(param: number | string | Buffer, options: object): Promise
我并没有低估如何将 userNameId 和 accountId 一起传递。
session 模型

export class Session extends Model<Session> implements ISessionModel {
@PrimaryKey
@Default(DataType.UUIDV4)
@AllowNull(false)
@Column(DataType.UUID)
sessionId: string;

@PrimaryKey
@IsUUID(4)
@AllowNull(false)
@Column(DataType.UUID)
accountId: string;

@PrimaryKey
@AllowNull(false)
@Column
userNameId: string;

@AllowNull(false)
@Column
userName: string;
..
..
}

最佳答案

文档没有指定这样做的方法,但列出了通过 sequelize 查找记录的方法:( https://sequelize.org/master/manual/model-querying-finders.html )
我不得不使用 findOne 而不是 findByPk这是在普通的 javascript 上,我们尝试为具有复合键的模型查找记录:

const res = await db.MyModel.findOne({
where: {
entityOneId: args.entity_one_id,
entityTwoId: args.entity_two_id,
}
});

关于sequelize.js - sequelize - 当主键是复合键时是否可以使用 findByPk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62892760/

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