编辑 Knex 插入以获取参数数组

Edit Knex insert to take array of parameters

我有这个 Knex 更新:

NoteTag.createNoteTag = async (noteId, tagId, db) => (
    db.sequelize.knex('note_tags')
      .returning([
        'id',
        'note_id',
        'tag_id',
      ])
      .insert({
        note_id: noteId,
        tag_id: tagId,
      })
  );

我希望能够将 tagId 作为数组传递,以便可以将多个标签添加到笔记中。

我可以编辑函数来执行此操作吗?如果可以,怎么做?

Knex 的 insert 也支持对象数组,因此您可以迭代传递的 tagIds 并将它们映射到 insert 对象。

NoteTag.createNoteTag = async (noteId, tagIds, db) =>
  db.sequelize
    .knex('note_tags')
    .returning(['id', 'note_id', 'tag_id'])
    .insert(tagIds.map(tagId => ({ node_id: nodeId, tag_id: tagId })));