【问题标题】:CouchDB import JSON file [duplicate]CouchDB 导入 JSON 文件 [重复]
【发布时间】:2019-12-28 20:34:53
【问题描述】:

我尝试使用 zipcodes 导入 JSON 文件

[
  {
    "zip": "1000",
    "city": "Bruxelles",
    "lng": 4.351697,
    "lat": 50.8465573
  },
  {
    "zip": "1020",
    "city": "Laeken",
    "lng": 4.3487134,
    "lat": 50.883392
  },
  ...
  {
    "zip": "9992",
    "city": "Middelburg",
    "lng": 3.4071425562584,
    "lat": 51.25583235
  }
]

我希望每个组(zip、city、lng、lat)都作为一个文档。

添加数据库 be_cities 并使用此命令导入 couchdb:

curl -X POST http://user:password&@192.168.0.205:5984/be_cities/_bulk_docs -H "Content-type: application/json" -d @zipcodes-belgium.json

但是报错:

    [1] 13218
    -bash: @192.168.0.205:5984/be_cities/_bulk_docs: No such file or directory
ubuntu@ubuntu$curl: (3) Port number ended with 'F'

也可以用 PUT 代替 POST 试试,但还是报错。

有人知道如何将整个 json 文件作为文档批量导入吗?

【问题讨论】:

  • 问题是你需要引用你的URL。 & 被 bash 解释为特殊的,并将你的命令一分为二。
  • 嗨@Flimzy 感谢您的回答。现在完美运行???
  • 我很高兴你成功了!

标签: json couchdb


【解决方案1】:

我的问题解决了!

我做了什么:

  1. 在 JSON 文件中添加 docs

    {"docs": [
    ...
    ]}
    

然后:

$curl -X POST http://192.168.0.205:5984/be_cities/_bulk_docs -H "Content-type: application/json" -d @zipcodes-belgium.json

【讨论】:

  • 有效载荷与您问题中的错误完全无关。您不再收到该错误的唯一原因是您更改了 curl 命令。
  • @Flimzy 好的,感谢您提供有用的信息。很高兴知道。我是 CouchDB 的新手。这是一个很棒的数据库,但它是与 SQL (MySQL) 相对的另一种“思考”方式。
猜你喜欢
  • 2012-08-15
  • 2020-04-17
  • 2019-06-24
  • 2021-02-23
  • 2011-02-06
  • 1970-01-01
  • 2021-03-28
  • 2021-09-21
相关资源
最近更新 更多