【问题标题】:couchbase server not return id within record using c# codecouchbase服务器不使用c#代码在记录中返回id
【发布时间】:2026-01-16 22:00:02
【问题描述】:

当我们使用选择查询从 couchbase 服务器获取记录时,不会获取每条记录的 id

我的代码如下。我错过了什么

        var clientConfiguration = new ClientConfiguration();
        clientConfiguration.Servers = new List<Uri> { new Uri("http://localhost:8091/pools/") };

        List<string> objDocList = new List<string>();
        Cluster Cluster = new Cluster(clientConfiguration);
        var bucket = Cluster.OpenBucket();
        var result = bucket.Query<dynamic>("select * from testbucket");


        foreach (var row in result)
        {

                dynamic propJSON = JsonConvert.SerializeObject(row);

       //propJSON not contain id

        }

我想要更新记录的id

【问题讨论】:

    标签: c# couchbase couchbase-view couchbase-sync-gateway


    【解决方案1】:

    需要使用meta函数返回id

    select meta(tb).id, tb.* from testbucket tb
    

    【讨论】:

    • 正常,但在 couchbase 服务器中手动添加记录没有使用查询获取记录
    • 我也想在这个选择查询中获得 rev
    • 我使用 cas 值来更新文档是否正确
    • 这取决于您的需求。 CAS 用于管理并发。你可以找到第一个文档here
    • 好的,谢谢,但我想更新文档,所以我更新的依据是什么