Javascript 编辑Knex insert以获取参数数组
我有这个Javascript 编辑Knex insert以获取参数数组,javascript,node.js,knex.js,Javascript,Node.js,Knex.js,我有这个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,
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也支持对象数组,因此您可以迭代传递的标记ID并将它们映射到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 })));
谢谢与其硬编码
insert
值,我假设我可以在insert
中包含一些函数,以循环通过tagId
数组,并包含在insert中找到的任何值。正确,签出我的更新代码,实际上,如果我传入的tagId超过1个,例如[1,3]
两个数据库都正确添加到数据库中,但只返回第一个数据库。正确,如果您的数据库是MYSQL,这是一个数据库限制,而不是Knex的限制