将R连接到PostgreSQL 9.4 JSONB数据类型

Enz*_*nzo 7 postgresql r jsonlite

使用PostgreSQL 9.4,新的数据类型JSONB已经可用.根据在单个节点上提供的性能测试,性能优于mongodb(可以理解的是mongodb的最佳位置).

是否可以在R中读取JSONB,理想情况下使用jsonlite?

怎么样?

Enz*_*nzo 1

这就是我要做的,但我怀疑还有更好的方法(因此这篇文章):

  dbGetQuery(conn,"SELECT * FROM justjsonb;")
  id                                                                                         doc
1  1 {"name": "fred", "address": {"line1": "52 The Elms", "line2": "Elmstreet", "postcode": "ES1 1ES"}}
Warning message:
In postgresqlExecStatement(conn, statement, ...) :
  RS-DBI driver warning: (unrecognized PostgreSQL field type jsonb (id:3802) in column 1)
Run Code Online (Sandbox Code Playgroud)

(注意警告)

这是我得到的 json 字符串:

{"name": "fred", "address": {"line1": "52 The Elms", "line2": "Elmstreet", "postcode": "ES1 1ES"}}
Run Code Online (Sandbox Code Playgroud)

为了得到结果我这样做:

unlist(fromJSON(dj$doc))
            name    address.line1    address.line2 address.postcode 
          "fred"    "52 The Elms"      "Elmstreet"        "ES1 1ES" 
Run Code Online (Sandbox Code Playgroud)

还有更好的方法吗?