2016-07-01 55 views
1

我是新手用户到Couchbase,我试图将文档插入到如下所示的默认存储桶中。 我发现了以下2种方式插入桶里的JSON文件:通过准备JsonDocument通过使用类似像SQL 查询字符串直接查询 1)插入和更新插入到桶在Couchbase中使用CRUD操作

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)或=“ UPSERT违约(键,值)值(LDATA)”

我无法找到如何执行像NORAM sql语句上面的查询 例子: 声明ST = connection.createStatement(); ResultSet rs = st.executeQuery(query);

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

我发现了两种获取文档的方法。

我)直接获取文档通过使用文档ID bucket.get( “手机”)。内容()。获得( “phoneinfo”)

II)用正四处文档!QueryResultSet N1qlQueryResult result = bucket.query(N1qlQuery.simple(“select * from default;”));

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

我对在Couchbase中插入文件和从文件夹中提取文件的不同方法感到困惑。 如果我通过使用第一种方法插入文档,我需要准备JsonObject与一些键和值作为整个jsondocument。

所以我想我最好使用第二种方法插入文档,所以我将能够使用N1QLResultSet(第二种方法)获取文档。但通过使用第一种方法,我需要得到的桶中的文件的数量和那么只有我可以通过所有的文件

查询循环: 1)如何从文件 2)在获得选择性嵌套节点json文档,我是否需要为每个节点ant分割键值然后放入JSONObject来准备JSONDocument? 3)如何为桶创建一个视图来快速检索?

回答