Foreign Data Wrapper for MongoDB은 꽤 멋지다! - 예에 사용하는 PostgreSQL의 유형mongodb_fdw를 사용하여 동적 JSON 객체를 PostgreSQL에 바인드하는 방법은 무엇입니까?
그 안에서 동적 필드 객체 : 나는 그것을 떨어져에서 these instructions를 사용하여 작업 쪘 구만?
{ "키 1": 일부 ... }
객체의 배열
- 등을 위해 사용하는 PostgreSQL의 유형? 배열의 길이는 다를 수 있지만 객체의 내부 구조는 동일합니다. 최근의 PostgreSQL 버전에서 JSON 기능에
[: {3 "A"} { "A": 1}, { "는"2}]. 산뜻한. 그러나 BSON
, JSON
또는 JSONB
은 FDW에서 SQL 데이터 유형으로 인식하지 못하는 것 같습니다.
내가 사용하는 경우 :
CREATE FOREIGN TABLE t6
(
"aaa.bbb" JSON -- 'bbb' is an array of JSON objects
)
SERVER mongo_server OPTIONS(...);
SELECT "aaa.bbb" AS bbb FROM t6;
내가 얻을 :
psql:6.sql:152: ERROR: cannot convert bson type to column type
HINT: Column type: 114
일반적인 유형 TEXT
, FLOAT
등 작업.
* BSON, JSON 또는 JSONB는 FDW에서 SQL 데이터 형식으로 인식하지 않는 것 같습니다. * - 무엇을 시도 했습니까? 오류 메시지가 있다면 무엇입니까? 오류가 없다면 (예기치 않은) 결과는 무엇입니까? – pozs
ok, 약간의 세부 사항을 추가했습니다 – akauppi
[비슷한 기능 요청] (https://github.com/citusdata/mongo_fdw/issues/19)에 따르면 사용하는'mongo_fdw '는 업데이트되지 않습니다; 그러나 당신이 문서에서 json 배열이나 객체를 가지고있는 곳의'json' sql 타입을 사용할 수있게 해주는 [EnterpriseDB fork] (https://github.com/EnterpriseDB/mongo_fdw)가 있습니다 ([ 현재 소스] (https://github.com/EnterpriseDB/mongo_fdw/blob/a159d42bd1b2190c47e8b97b5939415e07389d24/mongo_fdw.c#L1341)). – pozs