我正在使用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
答案 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}"
这是正确的。