Couchbase GUI中文档的纯文本视图

时间:2012-10-30 20:52:43

标签: nosql couchbase

我正在使用Couchbase并使用ASP.NET在我的本地计算机上进行测试。我已经将一些数据插入到示例文档中,我可以使用ASP.NET C#Driver for Couchbase读取数据。问题是,当我登录到集群管理GUI并查看文档时,我看到很多没有意义的字符,实际上看不到我插入的文档的文本表示。有了MongoDB,BigCouch,RavenDB这些数据简单明了的JOSN文档及其易于更新的单个文档。我在这里错过了什么吗?

在我的.NET应用程序中,我有这段代码:

 var client = new CouchbaseClient();


 client.Store(StoreMode.Add, "aaa", "sample_data");
 client.Dispose();

当我查看文档时,我得到的是在控制台中:

"Y29tcGFyaXNvbl9pZDogMQ=="

这是二进制格式,而不是JSON。 使用CouchBase 2.0 beta

2 个答案:

答案 0 :(得分:2)

在Couchbase Server 2.0中,如果将无效的JSON存储为您保存的键/值对中的值,您将看到已保存的项目的Base64编码版本。由于“sample_data”不是有效的JSON文档,因此Couchbase Server将其视为字节数组。查看字节时,它们是Base64编码的。相反,如果您将商店方法更改为以下内容:

client.Store(StoreMode.Add, "aaa", "{ \"message\" : \"sample_data\" }");
然后,您将看到实际的JSON文档。

Couchbase客户端最新测试版的入门指南提供了有关使用Couchbase Server 2.0的{JSON和视图 - http://www.couchbase.com/develop/net/next的更多信息。

答案 1 :(得分:1)

这是Couchbase 2.0 GUI显示的错误。现在我在RHEL 6.0中使用couchbase-server-2.0.0-1723.x86_64,并使用Coubase 2.0 GUI创建新文档。当我在json下插入时:

{
  "_id": "100",
  "name": "Thomas",
  "dept": "Sales",
  "salary": 5000
} 

,然后在列出base64字符串时保存:

"eyJfaWQiOiIxMDAiLCJuYW1lIjoiVGhvbWFzIiwiZGVwdCI6IlNhbGVzIiwic2FsYXJ5Ijo1MDAwfQ=="

我可以关注此帖:base64 value display in GUI (Beta 2.0),修复此路径中的javascript代码:

/opt/couchbase/lib/ns_server/erlang/lib/ns_server-2.0.0r_331_g08fb51b/priv/public/js

Fianlly,清理浏览器缓存并登录Couchbase 2.0 GUI agian。文档将显示:

"{"_id":"100","name":"Thomas","dept":"Sales","salary":5000}"

这是正确的。