Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 可以删除或更新不带主键的连接表_Node.js_Rest_Typescript_Sequelize.js_Epilogue - Fatal编程技术网

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,
});