从java中在CouchDB的一个分区中插入数据。

问题描述 投票:1回答:1

我在JAVA中使用Cloudant API for CouchDB。我已经用Java创建了一个分区数据库,但现在我不知道如何创建一个分区并将我的json插入其中。

final String dbName = "cinema";
        CloudantClient client = ClientBuilder.url(new URL(url)).username(username).password(passw).build();
        System.out.println("Server version: " + client.serverVersion());
        Database db = CreatePartitioned.createPartitionedIfNotExists(client, dbName);
        db.createIndex("movies"); //doesn't work

我有这样的错误。

Exception in thread "main" com.cloudant.client.org.lightcouch.CouchDbException: 400 Bad Request at http://127.0.0.1:5984/movielens/_index. Error: bad_request. Reason: invalid UTF-8 JSON.
    at com.cloudant.client.org.lightcouch.CouchDbClient.execute(CouchDbClient.java:597)
    at com.cloudant.client.org.lightcouch.CouchDbClient.executeToInputStream(CouchDbClient.java:648)
    at com.cloudant.client.api.Database.createIndex(Database.java:391)
    at provaCouch.Prova_CouchDB.main(Prova_CouchDB.java:20)

我必须创建3个分区,而且网上的信息很差。有人知道如何解决这个问题吗?

java couchdb cloudant
1个回答
2
投票

看上去你没有发送正确的参数给 createIndex().

docstring 方法,以及API的 文档 的引用。您可能需要使用索引生成器 (com.cloudant.client.api.query.JsonIndex.Builder)。

© www.soinside.com 2019 - 2024. All rights reserved.