首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不能将嵌套的JSON数据gps作为未知类型插入?

为什么不能将嵌套的JSON数据gps作为未知类型插入?
EN

Stack Overflow用户
提问于 2018-08-29 13:19:42
回答 1查看 33关注 0票数 1

我正在尝试从客户端到服务器向PostQSL数据库中插入数据。但是,有一个错误,因为:

服务器错误:

代码语言:javascript
复制
uid: test id
gps: 111
(node:8607) UnhandledPromiseRejectionWarning: error: could not determine data type of parameter $2

为什么不能将嵌套的JSON数据gps作为未知类型插入?

客户端(Angular):

代码语言:javascript
复制
  tracking_info = {
       uid: "test id",
       gps: {
         logitude: 111,
         latitude: 222,
         timestamp: 12345,
       }
     }

  // Send data to server
  api.post('savemessage', tracking_info).share();

服务器(Node.js)

代码语言:javascript
复制
    ...
    console.log("uid: "+ uid);
    console.log("gps: "+ gps.latitude);

    // insert a new message
    await client.query('INSERT INTO messages(uid, gps) VALUES($1, $2)', [uid, gps])
    ...

PostSQL表设置:

代码语言:javascript
复制
[Name]        [DataType]
 uid           VARCHAR
 gps           UNKNOWN
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-29 15:33:45

使用JSON数据类型存储JSON数据。

代码语言:javascript
复制
  CREATE TABLE tracking_info (  
    uid UUID NOT NULL,
    gps JSON
  );

您可能需要执行JSON.stringify。

代码语言:javascript
复制
await client.query('INSERT INTO messages(uid, gps) VALUES($1, $2)', [uid, JSON.stringify(gps)])

阅读以了解更多详细信息http://www.postgresqltutorial.com/postgresql-json/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52069944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档