Javascript & # 39;数字# 39;和postgres类型
Javascript 'number' and postgres types
我通过pg
包使用node.js的postgres,我只是开始,所以我的目标是一个非常简单的表格,如下所示,在psql
shell中通过命令
CREATE TABLE people(id int, name text);
Column | Type | Modifiers
------------+---------+-----------
id | int |
name | text |
节点文件的相关部分如下所示。我所要做的就是得到当前人数的计数(这很好),通过1
增加它,并使用这个新值作为我添加到表中的下一个人的id
pg.connect(conString, function(err, client) {
var count;
var next;
client.query('SELECT COUNT(*) FROM people', function(err, result) {
count = result.rows[0].count;
next = Number(count)+1;
});
client.query('INSERT INTO people (id, name) VALUES ($1, $2)', [next, req.body.personName],function(err, result) {
});
});
req.body.personName
正在express
应用程序的其他地方设置,这部分没有问题,名称在postgres中存储得很好,但id
列仍然是空白。
我有
- 在postgres中创建字段时尝试了
numeric
和int
类型,但没有区别 - 假设问题是类型之间的不兼容性,因为它们在postgres中定义,并且在javascript中更宽松的定义,我试图转换类型
VALUES ($1::int, $2)
,再次无济于事 - 我认为
[node-pg-types][1]
项目可能是一个解决方案,但从我对它的理解,它不是(我很可能是错的) - 如果我用
1
或'1'
(或任何其他数字/字符串)替换client.query
调用中的next
变量,则1
将显示为postgres 中的id
看起来你同时在做两件事(异步的)。在查询完成后(在回调中)尝试INSERT:
pg.connect(conString, function(err, client) {
var count;
var next;
client.query('SELECT COUNT(*) FROM people', function(err, result) {
count = result.rows[0].count;
next = Number(count)+1;
client.query('INSERT INTO people (id, name) VALUES ($1, $2)', [next,
req.body.personName],function(err, result) {
});
});
});
相关文章:
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 如何在DOM元素上按类型构建此函数
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 如何从querySelectorAll中获取按钮类型
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 如何将具有文本类型值的var放入jQuery函数中
- javascript解释器如何理解变量的数据类型
- 可变大小的JavaScript字符串如何成为基元类型
- AngularJS指令只识别双向绑定类型
- 在<输入类型=“;文件“/>
- 从查询字符串参数推断出正确的数据类型
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 为什么不'我们在javascript中使用函数参数的数据类型
- Javascript 可选类型提示
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- Javascript & # 39;数字# 39;和postgres类型
- Postgres -使用什么列类型来存储嵌套数组