Qyouu
2022-09-29 17:47:00
集合結(jié)構(gòu):users > name: 'John' phoneNumbers: ['12345', '67891']如何檢查任何電話號碼字段中是否存在給定的電話號碼(例如:999999)?我試過:const usersRef = await firestore().collection('users')const dbResponse = usersRef.where('phoneNumbers', 'array-contains', '999999')這給我?guī)砹艘粋€巨大的物體,從"_collectionPath": ...我本來以為會有一個布爾值存在,但沒有找到任何東西。我的查詢有誤嗎?
1 回答

開心每一天1111
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個贊
當(dāng)您執(zhí)行任何查詢時,您將獲得一個包含與查詢匹配的每個文檔的查詢快照。沒有其他方法可以查詢火庫,您的代碼將需要處理該查詢快照對象。
要找出是否有任何文檔與查詢匹配,而無需實(shí)際查看每個文檔快照,最簡單的方法是簡單地檢查 QuerySnapshot 的 size 屬性是否大于 0。
順便說一句,您的使用不正確。 立即返回集合引用,但不做任何承諾。其中() 將返回查詢對象。并且 get() 將返回一個帶有查詢快照的承諾:await
firestore().collection('users')
const usersRef = firestore().collection('users')
const querySnapshot = await usersRef
.where('phoneNumbers', 'array-contains', '999999')
.get()
if (querySnapshot.size > 0) {
// do something
}
我建議研究文檔,以獲取有關(guān)如何執(zhí)行查詢的更多詳細(xì)信息。
添加回答
舉報
0/150
提交
取消