Firestore查询所有UID列表中的文档



我在arraylist中有一个用户列表。

示例:

List<String> myUsersUids = new ArrayList<>();

现在,我想查询所有用户文档的UID字段值在 myuserSuids list中存在。

编辑:使用"哪里"条件可以这样做吗?因此,我可以避免在列表上循环并单独查询每个文档。

示例:是否有类似的..

    .whereExistsIn("userID", myUsersList) .. ?

这将有助于我在多个文档中添加一个快照列表,而不是为每个文档循环和创建一个侦听器。

谢谢!

您可以使用firestore.getall方法获取所有带有文档参考的firebase文档,您可以通过使用文档ID(目前:userIds)来创建firebase文档参考。以下是JavaScript代码,以使用户使用给定的用户ID:

let userIds = ['7Zzf082ExRLAWCJ6XZeE','random','OM3YmGKnPk2yZGEe2J02','random22'];
let userRefs = [];
userIds.forEach(qid => {
    console.log("Creating document reference of : ",qid);
    userRefs.push(admin.firestore().doc('users/'+qid));
});
admin.firestore().getAll(userRefs).then(users => {
    for(let i=0;i<users.length-1;i++){
        console.log("index : "+i+ " isExists : "+ users[i].exists);
    }
}

我从https://stackoverflow.com/a/48423626/5140519中获得了参考。

请告诉我,如果您有任何疑问,或者您对此有任何反馈。谢谢你!快乐的编码:)

最新更新