如何使用.NET客户端在Couchbase中插入原始json?

时间:2015-06-04 11:08:29

标签: .net couchbase

我正在为Couchbase上的CRUD操作开发REST API。

想法是直接向后端发送来自请求主体的RAW Json。

Couchbase客户端根本不应该进行序列化。 实际上,您可以使用简单的字符串从商店中获取文档(无反序列化)。

据我所知,目前尚不支持。

我错了吗?

2 个答案:

答案 0 :(得分:3)

Couchbase会将有效的原始JSON字符串视为文档,因此您只需将字符串作为值发送并以相同的方式返回。以下是最新.NET SDK(目前为2.1.1)的示例:

string json = "{\"a\":\"b\"}";
bucket.Upsert<string>("my_id", json);

var op = bucket.Get<string>("my_id");
var str = op.Value;
Debug.Assert(string.Equals(json, str));

查看Couchbase UI,我们可以看到我们的原始JSON字符串是一个正确的文档:

enter image description here

答案 1 :(得分:-1)

您可以针对Couchbase执行CRUD操作

来自Couchbase Documentation

示例

以下示例从名为beer-db的数据库中检索标识为beer_#17_Cream_Ale的文档。由于标识符包含数字符号(#)字符,因此标​​识符必须在URI中进行URL编码。

请求

GET /beer-db/beer_%2317_Cream_Ale HTTP/1.1
Host: localhost:59840

响应

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: must-revalidate
Content-Length: 259
Content-Type: application/json
Date: Thu, 12 Dec 2013 21:12:28 GMT
Etag: "1-431506b53aeac96a225e619cfa7bb569"
Server: CouchbaseLite 1.486
{
  "category" : "North American Lager",
  "brewery" : "Big Ridge Brewing",
  "style" : "American-Style Lager",
  "updated" : "2010-07-22 20:00:20",
  "_id" : "beer_#17_Cream_Ale",
  "_rev" : "1-431506b53aeac96a225e619cfa7bb569",
  "name" : "#17 Cream Ale"
}