Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Couchbase中使用CRUD操作_Java_Couchbase_Couchbase View_Couchbase Java Api - Fatal编程技术网

Java 在Couchbase中使用CRUD操作

Java 在Couchbase中使用CRUD操作,java,couchbase,couchbase-view,couchbase-java-api,Java,Couchbase,Couchbase View,Couchbase Java Api,我是一个新手,尝试将文档插入默认的bucket,如下所示。 我找到了以下两种方法将json文档插入到bucket中: 1) 通过准备JsonDocument插入并向上插入铲斗 StringBuilder strBuilder = new StringBuilder(); strBuilder.append("{'phone':{'y':{'phonePropertyList':{'dskFlag':'false','serialId':1000,'inputTray':{'LIS

我是一个新手,尝试将文档插入默认的bucket,如下所示。 我找到了以下两种方法将json文档插入到bucket中: 1) 通过准备JsonDocument插入并向上插入铲斗

    StringBuilder strBuilder = new StringBuilder();
    strBuilder.append("{'phone':{'y':{'phonePropertyList':{'dskFlag':'false','serialId':1000,'inputTray':{'LIST': {'e':[{'inTray':{'id':'1','name':'BypassTray','amount': {'unit':'sheets','state':'empty','typical':'0','capacity':'100'}");
    String LDATA = strBuilder.toString();   
    Cluster cluster = CouchbaseCluster.create("localhost");
Bucket bucket = cluster.openBucket("default");
JsonObject deviceinfoObj = JsonObject.create().put("phoneinfo", LDATA); 
bucket.upsert(JsonDocument.create("phone", deviceinfoObj));
2) 或者使用类似SQL的直接查询 String query=“向上插入默认(键、值)值(LDATA)”

我找不到如何像NORAMSQL语句那样执行上面的查询 例子: 语句st=connection.createStatement(); 结果集rs=st.executeQuery(查询)

如何使用N1QLQuery在Couchbase Bucket中插入json文档

我找到了获取文档的两种方法

i) 使用文档Id直接获取文档 bucket.get(“电话”).content().get(“电话信息”)

ii)使用N!获取文件!查询结果集 N1qlQueryResult结果=bucket.query(N1qlQuery.simple(“从
默认值中选择*”)

我对Couchbase中从bucket插入和获取文档的不同方法感到困惑。 如果我使用第1种方法插入文档,我需要将带有一些键和值的JsonObject作为一个完整的jsondocument来准备

因此,我认为最好使用第二种方法插入文档,这样就可以使用N1QLResultSet(第二种方法)获取文档。但是通过使用第一种方法,我需要得到桶中文档的数量,然后只有我可以循环遍历所有文档

查询: 1) 如何从文档中获取选择性嵌套节点 2) 在json文档中,我是否需要拆分每个节点的键值,然后放入JSONObject来准备JSONDocument?
3) 如何为bucket创建视图以进行快速检索?

为什么不创建一个简单的java pojo并将其定义为@Document。然后使用Crudepo从couchbase保存和检索文档

此示例可能会帮助您:

            for (N1qlQueryRow row : result) { 
           System.out.println(row);
        }