您如何在具有数字键集的数组中查询值?
例如,此查询不起作用,因为我认为它正在查看索引而不是值:
var db = firebase.firestore();
var users = db.collection("Users");
var currentUser = firebase.auth().currentUser;
var result = users.where('liked', 'array-contains', currentUser.uid);
if (result.length > 0) {
return 'You have a match!';
} else {
return 'No matches';
}
如Stratubas所评论,问题在此代码中:
var result = users.where('liked', 'array-contains', currentUser.uid);
此代码构建查询,但尚未执行查询。因此result
是Query
object。要执行查询并从服务器获取结果,请调用Query
,然后返回get()
on the query。承诺产生后,您可以在get()
中处理结果。
Promise<QuerySnapshot>
在更现代的JavaScript中,以上内容也可以写成:
QuerySnapshot
object