gpt4 book ai didi

Couchbase View 结果未返回新添加的文档

转载 作者:行者123 更新时间:2023-12-02 22:02:51 24 4
gpt4 key购买 nike

我有一个包含 5 个文档的简单数据桶,并使用 CSharp 驱动程序通过 Web 应用程序添加数据。例如:{'key':'Version', 'value': '1.0'}

当我从 UI 或 Couchbase 控制台请求返回整个列表时,我第一次没有得到所有结果,我总是在添加新文档后第二次请求时得到结果。这是 couchbase View 的默认行为吗?我知道它在后台使用内存缓存。

如果这是默认行为,那么我该如何处理这种情况?因为每个应用程序都需要实时数据,还是我做错了什么?


我刚刚注意到问题出在生产 View 上,上述问题只发生在生产 View 中,而不是在开发 View 中,生产 View 与开发 View 的工作方式不同吗?

最佳答案

添加文档是一个通常异步操作。这意味着当您的函数调用返回时(在您的特定语言 SDK 上),文档并没有真正插入到 Couchbase 中。它更像是一个插入请求。

我对 CSharpDriver 知之甚少,但我可以举一个关于 Couchbase-SDK for Java 的例子。您将不得不搜索一下有关将以下内容映射到您的语言的信息。一个典型的例子是:

//Send a **request** to insert, typically spawns a new thread to poll for result.
final OperationFuture<Boolean> setOp = m_couchbaseClient.set(sKey, 0, sValue);

// More processing

//Wait on insertion. Use <FutureObject>.get()
try {
return setOp.get().booleanValue();
//when the above call returns we can be sure that insertion has happened/failed.
} catch (InterruptedException e) {
} catch (ExecutionException e) {
}

关于Couchbase View 结果未返回新添加的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16594239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com