documentDb的结果很奇怪

时间:2016-11-23 10:07:20

标签: azure azure-cosmosdb

我在documentDb数据库中执行了两个查询。

第二个查询比第一个查询更具限制性,但是我得到了第一个查询中没有的注册表。

第二个查询返回我在第一个查询中等待的'9ad1b2c0-3084-4903-b9a2-f8fa8e30d3a4'id ...

我在Azure门户的查询浏览器中使用我的文档数据库数据库尝试了这些查询,结果相同。

查询:

1)

detach()

结果:

    SELECT c.id FROM c where c.BatchInfo.Id='1b47970d-df41-41f6-8666-16017f50db55'

2)

    [
        {id : efc31b18-15b0-477c-9cbd-ee74b489b6e2 }, 
        {id : c43a654a-5a1a-47a4-b3ce-28629db16c38 }, 
        {id : aef97bcc-ea26-4c3e-9591-ff68ea1d4293 } 
    ]

结果:

    SELECT c.id FROM c where c.id= '9ad1b2c0-3084-4903-b9a2-f8fa8e30d3a4' and c.BatchInfo.Id='1b47970d-df41-41f6-8666-16017f50db55'

1 个答案:

答案 0 :(得分:4)

使用延迟索引模式会发生这种情况。

顾名思义,延迟索引作为相对于写入的低优先级进程执行,并为查询提供“最终一致的结果”。

要避免此问题,您应该在documentCollection中将索引模式更改为“Consistent”。