[英]MyCouch (CouchDB) Visual Studio Basics (Document Deletion and JSON Serialization)
我正在尝试使用Visual Studio和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();
}
}
}
从CouchDB文档中:
如果要更改CouchDB中的文档,则不要告诉它去查找特定文档中的字段并插入新值。 相反,您可以从CouchDB中加载整个文档,在JSON结构(或对象,当您进行实际编程时)中进行更改,然后将该文档的整个新修订版(或版本)保存回CouchDB中。 每个修订版均由新的_rev值标识。
如果要更新或删除文档,CouchDB希望您包括要更改的修订的_rev字段。
这些是避免覆盖其他人更新的方法。
因此,要删除文档,首先需要加载:
var myDoc = await store.GetByIdAsync(docId);
然后使用文档Rev属性将其删除:
var deleted = await store.DeleteAsync(docId, myDoc.Rev);
因此,除了Id属性外,文档模型还必须具有Rev属性。
根据文档 ,可以将模型的Rev属性命名为:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.