我正在将knex与node一起使用,并且我正在考虑在迁移中创建一个将包含对象数组的字段。我知道像
这样的简单东西.string("bla")
.notNullable()
依此类推,在文档中查找似乎找不到
想要类似的东西
.array_of_objects //field name
knex.schema.createTable('users', function (table) {
table.increments();
table.string('name');
table.timestamps();
//example
table.array
})
答案 0 :(得分:0)
使用table.specificType
,您可以创建所需的任何一种数据库列。您需要从数据库中检查它支持哪种列。
如果您可以确定要执行的SQL查询类型,则将更容易回答该问题。为了能够使用knex,您需要了解SQL。 Knex永远不会抽象SQL。
如果您正在寻找用于将SQL抽象化的node.js数据库库,您可能想检出sequelize
。
答案 1 :(得分:0)
感谢具有specificType的帖子。从我所看到的,PG没有对象数组,但是有字符串数组。最后,我将对象数组分成两个字符串数组,一个名为键,另一个为值。我将这两个数组都存储在数据库中。然后,当我执行get请求时,我将两个数组通过一些javascript附加功能连接在一起,成为一个对象数组。似乎可以解决问题。