0

私は 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 ベータ版の使用

4

2 に答える 2

2

Couchbase Server 2.0 では、保存するキーと値のペアの値として無効な JSON を保存すると、保存した項目の Base64 エンコード バージョンが表示されます。「sample_data」は有効な JSON ドキュメントではないため、Couchbase Server はそれをバイト配列のように扱います。バイトを表示すると、Base64 でエンコードされています。代わりに、store メソッドを次のように変更すると:

client.Store(StoreMode.Add, "aaa", "{ \"message\" : \"sample_data\" }");

実際の JSON ドキュメントが表示されます。

Couchbase クライアントの最新ベータ版の入門ガイドには、Couchbase Server 2.0 での JSON とビューの操作に関する詳細情報があります - http://www.couchbase.com/develop/net/next

于 2012-10-31T14:33:09.577 に答える
1

これはCouchbase2.0GUI表示のバグです。RHEL6.0でcouchbase-server-2.0.0-1723.x86_64を使用し、Coubase2.0GUIで新しいドキュメントを作成します。jsonの下に挿入すると次のようになります。

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

、次に、base64文字列を一覧表示しながら保存します。

"eyJfaWQiOiIxMDAiLCJuYW1lIjoiVGhvbWFzIiwiZGVwdCI6IlNhbGVzIiwic2FsYXJ5Ijo1MDAwfQ=="

私はこの投稿に従うことができます:GUI(ベータ2.0)でのbase64値の表示、このパスのjavascriptコードを修正するには:

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

Fianlly、ブラウザのキャッシュをクリーンアップし、Couchbase 2.0GUIagianにログインします。ドキュメントは次のように表示されます。

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

それは正しいです。

于 2012-11-12T08:03:10.373 に答える