我们可以用knex发布对象数组吗?

时间:2019-01-12 16:52:43

标签: node.js knex.js

我正在将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
})

2 个答案:

答案 0 :(得分:0)

使用table.specificType,您可以创建所需的任何一种数据库列。您需要从数据库中检查它支持哪种列。

如果您可以确定要执行的SQL查询类型,则将更容易回答该问题。为了能够使用knex,您需要了解SQL。 Knex永远不会抽象SQL。

如果您正在寻找用于将SQL抽象化的node.js数据库库,您可能想检出sequelize

答案 1 :(得分:0)

感谢具有specificType的帖子。从我所看到的,PG没有对象数组,但是有字符串数组。最后,我将对象数组分成两个字符串数组,一个名为键,另一个为值。我将这两个数组都存储在数据库中。然后,当我执行get请求时,我将两个数组通过一些javascript附加功能连接在一起,成为一个对象数组。似乎可以解决问题。