2 回答

TA貢獻1863條經(jīng)驗 獲得超2個贊
不幸的是,F(xiàn)irebase Realtime數(shù)據(jù)庫不支持對多個屬性的查詢,僅支持對單個子屬性的查詢。因此,您猜測需要創(chuàng)建一個額外的字段來保留這兩個字段是正確的。因此,要實現(xiàn)此目的,您需要創(chuàng)建一個新字段,該字段在數(shù)據(jù)庫中應如下所示:
Firebase-root
|
--- itemId
|
--- a: valueOfA
|
--- b: valueOfB
|
--- a_b: valueOfA_valueOfB
如您所見,該a_b屬性組合了要過濾的值。
與Firebase Realtime數(shù)據(jù)庫不同,Cloud Firestore允許復合查詢。您應該看看這個。因此,在Cloud Firestore中允許進行以下查詢,而無需創(chuàng)建組合屬性。
itemIdRef.whereEqualTo("a", "valueOfA").whereEqualTo("b", "valueOfB");
當您訂購字符串時,這是正常的訂購方法。速戰(zhàn)速決會是這樣每一秒元素前加兩個零:"1516428687_001","1516428687_002","1516428687_012"?,F(xiàn)在您的訂單就可以了。有關更多說明,請參閱我在這篇文章中的回答。

TA貢獻1798條經(jīng)驗 獲得超7個贊
我考慮了-但是在實踐中它是行不通的,因為正如我猜測firebase內(nèi)部使用標準的字符串比較器,所以三個鍵的順序將遵循 "1516428687_1", "1516428687_12", "1516428687_2"。但是我需要"1516428687_1", "1516428687_2", "1516428687_12"。
- 2 回答
- 0 關注
- 494 瀏覽
添加回答
舉報