假設有一個檔案集合,其中包含一個包含整數的特定欄位。
doc1={id:'dskjb12312',value:10}
doc2={id:'trhb12312',value:10}
doc3={id:'wqfewf12',value:20}
doc4={id:'dtyjnr312',value:30}
現在,如果我進行如下查詢,我將得到 3 個檔案,其分數按降序排列。
collection('Collection').orderBy('value','desc').limit(3).get()
前兩個檔案如下所示,因為它們是按降序排列的。
doc4={id:'dtyjnr312',value:30}
doc3={id:'wqfewf12',value:20}
Firestore 決定第三個檔案的默認方式是什么,因為有兩個檔案具有相同的值 30?它是隨機的還是背后有任何預定義的邏輯?
我知道我可以在不同的欄位上使用第二個“orderBy”來獲取高級查詢,但只是想知道單個“orderBy”的默認行為是什么,其中存在具有相同值的欄位。
uj5u.com熱心網友回復:
在您在查詢中指定的順序之外,檔案將按其檔案 ID 的順序回傳。因此,如果兩個檔案具有相同的值,則具有“較低”檔案 ID 的檔案將首先出現。
我不確定這是如何明確記錄的,但這是每個查詢用于確定結果的索引中如何表示檔案的自然結果。除了您定義索引的任何欄位之外,它還將始終包含檔案 ID(或者在集合組索引的情況下,檔案路徑)以確保索引中的每個條目都是唯一的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/484121.html
