您可以在带有对象数组列的表中批量导入crateDB吗?

时间:2019-06-27 19:24:29

标签: cratedb

所以我运行CrateDB 3.3.3,并且有一个表,该表具有一列对象类型数组

XMLHTTPRequest

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

CREATE TABLE IF NOT EXISTS "doc"."testarray" (
"id" INTEGER,
"myarraycol" ARRAY(OBJECT (DYNAMIC) AS (
  "avg" DOUBLE,
  "eventconditiondefid" INTEGER,
  "max" DOUBLE,
  "min" DOUBLE
))
)

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

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

我让它适用于常规表,但不能使其适用于具有一列对象数组的表。谁能告诉我如何使批量插入与这些类型的列一起使用?我似乎找不到任何示例或文档。

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}]);

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

1 个答案:

答案 0 :(得分:1)

问题是JSON,它应如下所示:

{ "stmt":"INSERT INTO testarray (id, myarraycol) VALUES (?,?) ","bulk_args":[[1,[{"min":0.616523,"max" : 1.10974,"Avg" : 0.874692,"EventConditionDefId" : 505}]]]}