Node.js 可以删除或更新不带主键的连接表
我有一个名为Node.js 可以删除或更新不带主键的连接表,node.js,rest,typescript,sequelize.js,epilogue,Node.js,Rest,Typescript,Sequelize.js,Epilogue,我有一个名为plancollists的连接表,它允许在计划和冲突之间建立多对多关系 以下是我的模型定义: import { AllowNull, Column, DataType, ForeignKey, Model, Table } from "sequelize-typescript"; import Conflict from "./Conflict"; import Plan from "./Plan"; @Table({ tableName: "PlanConflicts" }) e
plancollists
的连接表,它允许在计划和冲突之间建立多对多关系
以下是我的模型定义:
import { AllowNull, Column, DataType, ForeignKey, Model, Table } from "sequelize-typescript";
import Conflict from "./Conflict";
import Plan from "./Plan";
@Table({ tableName: "PlanConflicts" })
export default class PlanConflict extends Model<PlanConflict> {
@AllowNull(false)
@ForeignKey(() => Plan)
@Column(DataType.INTEGER)
public planId: number;
@AllowNull(false)
@ForeignKey(() => Conflict)
@Column(DataType.INTEGER)
public conflictId: number;
}
我可以创建一个新的冲突,并且我可以使用URL格式获得一个列表http://localhost:3000/plan-冲突?计划id=9&冲突id=1
,但我不知道如何执行更新或删除。尾声的搜索功能仅适用于列表
因此,我想知道是否可以更新或删除没有主键的连接表的项,如果可以,如何更新或删除。休息了几个小时后,我突然意识到,我可能只需要将端点从
../../:id
自定义为../:planId/:conflictId
,果然做到了
我的资源调用现在简化为:
epilogue.resource({
model: PlanConflict,
endpoints: ["/plan-conflicts", "/plan-conflicts/:planId/:conflictId"],
pagination: false,
});
下面是一个URL示例:http://localhost:3000/plan-冲突/9/1
epilogue.resource({
model: PlanConflict,
endpoints: ["/plan-conflicts", "/plan-conflicts/:planId/:conflictId"],
pagination: false,
});