这是我的COUNT个查询
$query = CouchbaseN1qlQuery::fromString("SELECT count(*) as cont FROM testdb");
这是我的DELETE查询
$bucket->remove("abc123");
如果按此顺序运行
count query -> 10 docs
delete query -> ok
count query -> 10 docs
为什么我的计数总是10个文件? 如何进行同步操作或确实存在更好的方法? 我确定ID为“abc123”的文档存在,因为在我运行查询以检查是否存在之前。
修改
我的解决方案就是这个
$query->consistency(\Couchbase\N1qlQuery::REQUEST_PLUS);
更多信息https://github.com/couchbaselabs/devguide-examples/blob/master/php/query-consistency.php
答案 0 :(得分:0)
这是默认查询一致性级别的可能行为。您可以在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