集合结构:users > name: 'John' phoneNumbers: ['12345', '67891']如何检查任何电话号码字段中是否存在给定的电话号码(例如:999999)?我试过:const usersRef = await firestore().collection('users')const dbResponse = usersRef.where('phoneNumbers', 'array-contains', '999999')这给我带来了一个巨大的物体,从"_collectionPath": ...我本来以为会有一个布尔值存在,但没有找到任何东西。我的查询有误吗?
1 回答
开心每一天1111
TA贡献1836条经验 获得超13个赞
当您执行任何查询时,您将获得一个包含与查询匹配的每个文档的查询快照。没有其他方法可以查询火库,您的代码将需要处理该查询快照对象。
要找出是否有任何文档与查询匹配,而无需实际查看每个文档快照,最简单的方法是简单地检查 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
}
我建议研究文档,以获取有关如何执行查询的更多详细信息。
添加回答
举报
0/150
提交
取消