我正在尝试使用Visual和CouchDB构建一个通信协议,但是,我对一些非常基本的概念存在问题,而且myCouch git还远远不清楚。我想知道如何删除给定数据库名称的文档,以及如何将从服务器接收的JSON转换为可用的代码。
这是到目前为止我的C#代码
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static async Task MainAsync()
{
using (var db = new MyCouch.MyCouchStore("http://UserName:Password@127.0.0.1:5984/", "patientsim"))
{
var json = await db.GetByIdAsync("1");
Console.Write(json);
}
}
static void Main(string[] args)
{
MainAsync().Wait();
}
}
}发布于 2017-01-26 17:15:57
来自CouchDB文档:
如果要在CouchDB中更改文档,则不要告诉它去查找特定文档中的字段并插入一个新值。相反,从CouchDB加载完整文档,在执行实际编程时对JSON结构(或对象)进行更改,并将该文档的整个新版本(或版本)保存回CouchDB中。每个修订都由一个新的_rev值.标识。 如果要更新或删除文档,CouchDB希望您包含要更改的修订版的_rev字段。
这是一种避免覆盖其他人更新的方法。
因此,要删除首先需要用以下内容加载的文档:
var myDoc = await store.GetByIdAsync(docId);然后使用document属性删除它:
var deleted = await store.DeleteAsync(docId, myDoc.Rev);因此,除了Id属性之外,您的文档模型还必须具有Rev属性。
根据文件您的模型的Rev属性可以命名为:
https://stackoverflow.com/questions/41708292
复制相似问题