使用多个多个"where"值查询 Firestore 字段/值?



我正在考虑让用户在应用程序中关注其他用户,并且会有他们关注的人的帖子。

是否有一种方法可以一次查询多个'where'语句,或者与列表进行比较?还是需要走另一条路线?

下面是NodeJS中的一个示例场景:

var usersFollowed = ['GKXgK2CPPGPQjmQ3Lsrh', 'cBjzo3MSjjaOHksVmO0o', 'tc9gMwZR9SiyjWonyCWF'];
var followingPosts = await db.collection('posts').where('posterUID', '==', usersFollowed.Any()).get();

(.Any()是组成的,我想做什么)

下面是一个在Firestore中的post文档的例子:

postID
caption: 'a picture of something'
type: 'picutre'
size: 1
posterUID: GKXgK2CPPGPQjmQ3Lsrh

应使用in操作符:"使用in操作符在同一字段上使用逻辑或组合最多10个相等(==)子句。in查询返回文档,其中给定字段匹配任何比较值"。

var usersFollowed = ['GKXgK2CPPGPQjmQ3Lsrh', 'cBjzo3MSjjaOHksVmO0o', 'tc9gMwZR9SiyjWonyCWF'];
var followingPosts = await db.collection('posts').where('posterUID', 'in', usersFollowed).get();
但是,请注意最多只能组合10个相等(==)子句

.如果需要合并10个以上的子句,则需要执行几个类似的查询并合并结果。本文将解释如何使用JS SDK合并两个查询。

最新更新