Javascript 续集添加多对多关系,附加数据不起作用

Javascript 续集添加多对多关系,附加数据不起作用,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,我定义了以下模型: var Order = sequalize.define( "order", { id: { type: Sequelize.STRING, primaryKey: true, }, menuId: { type: Sequelize.UUID, field: "menu_id", }, }, { timestamps: false,

我定义了以下模型:

var Order = sequalize.define(
  "order",
  {
    id: {
      type: Sequelize.STRING,
      primaryKey: true,
    },
    menuId: {
      type: Sequelize.UUID,
      field: "menu_id",
    },
  },
  {
    timestamps: false,
  }
);

Item.belongsToMany(Order, { through: OrderItem });
Order.belongsToMany(Item, { through: OrderItem });

我正试图弄明白如何添加订单中的项目,而不创建项目,而只是将它们添加到关系中。 我有订单的初始格式:

{
    "id": "som-other-id7",
    "items": [{"id": "727f9b52-a88b-4ec3-a68c-98d190564497", "count": 2}, {"id": "7dfd30e7-2d4a-4b16-ae3d-20a330d9b438"}],
    "menuId": "7715af03-968f-40e5-9eb2-98016f3deeca"
}
我尝试通过以下方式将其添加到db中:

Order.create(orderJson)
    .then((order) =>
      orderJson.items.map((item) => order.addItem(item.id, { count: item.count }))
    )
但是,未填充计数。我试过:

  • 使用
    setItem
    代替
    addItem
  • 而不是传递
    item.id
    传递
    {itemId,orderId}

您应该这样调用addItem:

order.addItem(item.id, { through: { count: item.count }})
请参见中的示例

order.addItem(item.id, { through: { count: item.count }})