使用 cbdocloader 将 JSON 文件导入 Couchbase

Import JSON file into Couchbase using cbdocloader

我使用 cbdocloader 命令将不同的 json 文件导入 couchbase 数据库。如果我的文件内容 json 如下

{"displayName":"Login","controller":"AppCtrl","action":"login","endpoint":"","group":0,"_type":"Permission"}

它工作正常。

但是如果我的 json 内容 _id 它会自动将其从导入中排除 我想像下面这样导入我的 json

{"_id":"3dfd4bb0-aff4-11e6-8a96-8598a3ef40c4","displayName":"Login","controller":"AppCtrl","action":"login","endpoint":"","group":0,"_type":"Permission"}

我如何使用 cbdocloader 做到这一点??

Couchbase Server 4.5 以不同的方式对待 _idhttps://github.com/couchbase/couchbase-cli/blob/4.5.0/pump_json.py#L41-L62

下个版本会使用新的docloader,现在不会了。您可以独立构建它:https://github.com/couchbase/docloader

export GOPATH=/tmp/gopath
mkdir -p $GOPATH
cd $GOPATH
go get github.com/couchbase/docloader/cmd/cbdocloader

它在

生成单个静态二进制文件
./bin/cbdocloader

手册页也位于存储库中

man src/github.com/couchbase/docloader/man/man1/cbdocloader.1

您可以在 Connect 2016 上看到这个新的 docloader 的演示:https://www.youtube.com/watch?v=OlK9R5Fqmpo

我得到了解决方案,我在以下文件 /opt/couchbase/lib/python/pump_json.py

中更改了条件“if '_id' not in doc:”