繁体   English   中英

MyCouch(CouchDB)Visual Studio基础(文档删除和JSON序列化)

[英]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属性命名为:

  • [EntityName]版本
  • DocumentRev
  • 实体版本
  • 转速

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM