这是我的 COUNT 查询
$query = CouchbaseN1qlQuery::fromString("SELECT count(*) as cont FROM testdb");
这是我的删除查询
$bucket->remove("abc123");
如果我按此顺序运行这些
count query -> 10 docs
delete query -> ok
count query -> 10 docs
为什么我的计数总是 10 个文档?如何进行同步操作或存在更好的方法?我确定 ID 为"abc123"的文档存在,因为在我运行查询以检查是否存在之前。
编辑
我的解决方案是这个
$query->consistency(CouchbaseN1qlQuery::REQUEST_PLUS);
更多信息 https://github.com/couchbaselabs/devguide-examples/blob/master/php/query-consistency.php
默认查询一致性级别的可能行为。您可以在 API 文档中阅读有关它们的更多信息:http://docs.couchbase.com/sdk-api/couchbase-php-client-2.4.1/classes/Couchbase.N1qlQuery.html#method_consistency
同样在服务器参考的 N1QL 部分中:https://developer.couchbase.com/documentation/server/current/architecture/querying-data-with-n1ql.html
此外,带有开发人员指南的存储库还包含具有不同一致性级别的查询示例:https://github.com/couchbaselabs/devguide-examples/blob/master/php/query-consistency.php