Knex select() 语句返回的数据类型是什么?
What are the returned data types from a Knex select() statement?
大家好,
我目前正在为一个项目使用 Knex.js,当我进行 knex('table').select()
函数调用时出现问题。
查询中的 returned 类型是什么?特别是,如果我的 table 中有一个 datetime 列,该字段的 return 值是多少?
我相信查询将为该列 return 类型 string
的值。但是任何数据库都是这种情况(我使用SQLite3)?查询 return 可能是一个 Date
值 ?
示例:
用户 table 具有此架构:
knex.schema.createTable('user', function (table) {
table.increments('id');
table.string('username', 256).notNullable().unique();
table.timestamps(true, true);
})
因为我使用 SQLite3,table.timestamps(true, true);
产生 2 个日期时间列:created_at & modified_at.
当我进行查询 knex('user').select()
时,它 return 是一个具有以下属性的对象数组:id、用户名、created_at、modified_at.
- id 的类型是
number
- 用户名的类型是
string
- created_at 和 modified_at 的类型是什么?
总是 string
类型吗?如果我使用其他数据库,如 PostgreSQL,这些列将具有 timestamptz
SQL 类型。 returned 类型的 knex 也将是 string
类型 ?
因为我相信它将是字符串或数字的对象
这实际上不是 Knex 负责的事情,而是底层数据库库。因此,如果您使用 SQLite,它将是 sqlite3
。如果您使用的是 Postgres,pg
负责,您可以找到更多文档 here。从广义上讲,大多数库采用的方法是将具有直接 JavaScript 等效项(布尔值、字符串、空值、整数等)的类型 return 编辑为这些类型;其他任何内容都将转换为字符串。
Knex 的工作是构建其他库用来与数据库对话的 SQL,并接收它们 return.
的响应
大家好,
我目前正在为一个项目使用 Knex.js,当我进行 knex('table').select()
函数调用时出现问题。
查询中的 returned 类型是什么?特别是,如果我的 table 中有一个 datetime 列,该字段的 return 值是多少?
我相信查询将为该列 return 类型 string
的值。但是任何数据库都是这种情况(我使用SQLite3)?查询 return 可能是一个 Date
值 ?
示例:
用户 table 具有此架构:
knex.schema.createTable('user', function (table) {
table.increments('id');
table.string('username', 256).notNullable().unique();
table.timestamps(true, true);
})
因为我使用 SQLite3,table.timestamps(true, true);
产生 2 个日期时间列:created_at & modified_at.
当我进行查询 knex('user').select()
时,它 return 是一个具有以下属性的对象数组:id、用户名、created_at、modified_at.
- id 的类型是
number
- 用户名的类型是
string
- created_at 和 modified_at 的类型是什么?
总是 string
类型吗?如果我使用其他数据库,如 PostgreSQL,这些列将具有 timestamptz
SQL 类型。 returned 类型的 knex 也将是 string
类型 ?
因为我相信它将是字符串或数字的对象
这实际上不是 Knex 负责的事情,而是底层数据库库。因此,如果您使用 SQLite,它将是 sqlite3
。如果您使用的是 Postgres,pg
负责,您可以找到更多文档 here。从广义上讲,大多数库采用的方法是将具有直接 JavaScript 等效项(布尔值、字符串、空值、整数等)的类型 return 编辑为这些类型;其他任何内容都将转换为字符串。
Knex 的工作是构建其他库用来与数据库对话的 SQL,并接收它们 return.
的响应