我有一个ArrayList中的用户UID列表.
例:
List<String> myUsersUids = new ArrayList<>();
现在,我想在myUsersUids列表中查询其UID字段值存在的所有用户文档.
编辑:
是否可以使用“Where”条件?所以我可以避免在列表上循环并分别查询每个文档..
例:
有没有…
.whereExistsIn("userID", myUsersList) .. ?
这将帮助我将一个SnapShotListener添加到多个文档,而不是为每个文档循环和创建一个Listener.
谢谢你提前!
最佳答案 您可以使用firestore.getAll方法获取具有给定文档引用的所有firebase文档,您可以使用文档ID(现在:userIds)简单地创建firebase文档引用.以下是使用给定userIds获取用户的Javascript代码:
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开始参考.
如果您有任何疑问或者您对此有任何反馈,请与我们联系.谢谢!快乐的编码:)