如何在 Firestore 查询中过滤掉某些文档

时间:2021-06-22 08:28:53

标签: javascript firebase google-cloud-firestore

我希望在我的社交应用中实现好友搜索功能。为此,我尝试在数据库的 users 集合中查询每个用户的文档,但它应该排除某些特定文档,例如当前用户已经是朋友或请求待处理的用户。

是否可以通过在 Firestore 中传递这些文档引用 ID 来查询所有用户文档,不包括特定文档。

如果没有,有人可以说一种结构数据的方法,以便我可以实现此功能。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用 not-in 查询。这是一个简单的例子(取自文档):

citiesRef.where('country', 'not-in', ['USA', 'Japan']);

既然要按ID查询,可以用firebase.firestore.FieldPath.documentId()作为字段名(source)

citiesRef.where(firebase.firestore.FieldPath.documentId(), 'not-in', ['123', '456']);

或者,您可以尝试使用 '__name__' 字段名称 (source):

citiesRef.where('__name__', 'not-in', ['123', '456']);