metaInsert #
A simple wrapper for bulk insert. This checks for valid fields and accepts array or object.
Demo #
Simple insert #
js
const fields = [
'name'
]
const payload = {
name: 'Jeash'
}
const result = knex('users')
.metaInsert(payload, fields)
.toString()
sql
INSERT INTO
`users` (`name`)
VALUES
('Jeash')
Simple insert with multiple payload #
js
const fields = [
'name'
]
const payload = [
{
name: 'Jeash'
},
{
name: 'Ernie'
}
]
const result = knex('users')
.metaInsert(payload, fields)
.toString()
sql
INSERT INTO
`users` (`name`)
VALUES
('Jeash'),
('Ernie')
Undefined values will default to DEFAULT #
js
const fields = [
'name'
]
const payload = [
{
name: 'Jeash'
},
{
name: undefined
}
]
const result = knex('users')
.metaInsert(payload, fields)
.toString()
sql
INSERT INTO
`users` (`name`)
VALUES
('Jeash'),
(DEFAULT)
Transforms JSON fields #
js
const fields = [
'name',
'age',
'settings'
]
const payload = [
{
name: 'Jeash',
settings: { percentage: 12 }
},
{
name: 'Josh',
age: '52'
}
]
const result = knex('users')
.metaInsert(payload, fields)
.toString()
sql
INSERT INTO
`users` (`age`, `name`, `settings`)
VALUES
(DEFAULT, 'Jeash', '{\"percentage\":12}'),
('52', 'Josh', DEFAULT)