2016-11-23 8 views
2

私はdocumentDbデータベースで2つのクエリを実行しました。documentDbで奇妙な結果が出る

2番目のクエリは最初のクエリよりも制限がありますが、最初のクエリでは取得できないレジスタがあります。

2番目のクエリは、私が最初のクエリでお待ちしております「9ad1b2c0-3084-4903-b9a2-f8fa8e30d3a4」IDを返す...

私は私の文書でのAzureポータルでのクエリのブラウザでこれらのクエリを試してみましたdbデータベースに同じ結果を返します。

クエリ:

1)

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

結果:

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

2)

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

結果:

[{id : 9ad1b2c0-3084-4903-b9a2-f8fa8e30d3a4 } ] 

答えて

4

これは、レイジーインデックスモードで使用されています。

名前としてレイジーインデックスを使用すると、書き込みに対する優先度の低いプロセスとして実行され、クエリに対して「最終的に一貫した結果」を提供します。

この問題を回避するには、documentCollectionでインデックスモードを「一貫性」に変更する必要があります。

+0

ありがとう、私は一貫性のあるインデックスモードで試してみましたが、今は良いです。なぜ私は1日後にインデックス作成の怠け者がうまく動かないのか理解できません。 –