首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >您是否可以在具有对象列数组的表中在crateDB中进行大容量导入?

问您是否可以在具有对象列数组的表中在crateDB中进行大容量导入?
EN

Stack Overflow用户
提问于 2019-06-28 03:24:30
回答 1查看 230关注 0票数 0

所以我运行CrateDB 3.3.3,我有一个表,它有一列类型为数组的对象

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS "doc"."testarray" (
"id" INTEGER,
"myarraycol" ARRAY(OBJECT (DYNAMIC) AS (
  "avg" DOUBLE,
  "eventconditiondefid" INTEGER,
  "max" DOUBLE,
  "min" DOUBLE
))
)

我已经知道如何在其中插入一行

代码语言:javascript
复制
insert into testarray (id, myarraycol) values (2, [{"min"=2,"max"=3,"avg"=0.5,"eventconditiondefid"=123},{"min"=0,"max"=1,"avg"=0.5,"eventconditiondefid"=456}]);

但是,在我的应用程序中,我通过HTTP端点将数据批量插入到CrateDB中。

https://crate.io/docs/crate/reference/en/latest/interfaces/http.html

我让它适用于常规表,但不能让它适用于包含对象数组的列的表。谁能告诉我如何使用这些类型的列进行批量插入?我似乎找不到任何关于它的例子或文档。

代码语言:javascript
复制
{ "stmt":"INSERT INTO testarray (  id, myarraycol) VALUES (  ?,   ?) ","bulk_args":[[1,[{"min"=0.616523,"max" = 1.10974,"Avg" = 0.874692,"EventConditionDefId" = 505}]]]}

(上面的批量插入代码失败,它返回一个(400)错误请求)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-28 08:02:48

问题出在JSON上,应该是这样的:

代码语言:javascript
复制
{ "stmt":"INSERT INTO testarray (id, myarraycol) VALUES (?,?) ","bulk_args":[[1,[{"min":0.616523,"max" : 1.10974,"Avg" : 0.874692,"EventConditionDefId" : 505}]]]}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56797484

复制
相关文章

相似问题

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