firebase - 在关键字中使用firestore通过uids获取文档
问题描述
我在这里读到可以使用in
关键字查询firestore,其中文档的字段匹配。我想匹配我收藏中文档的uid。是否可以获得仅具有某些 uid 的文档?
我已经尝试过.where('id', 'in', idsArray)
(.where('uid', 'in', idsArray)
只有某些文档 uid 存储在 idsArray 中)但无济于事。请帮忙。
解决方案
如果你想基于一个 uids 的数组来查询这些 uid 值对应的所有文档,你可以使用Promise.all()
如下:
const uids = ['abcde...', 'klmno...', 'wxyz...'];
const promises = uids.map(u => db.collection("yourcollection").doc(u).get());
Promise.all(promises).then(results => {
//results is an array of DocumentSnapshots
//use anny array method, like map or forEach
results.map(docSnapshot => {
console.log(docSnapshot.data());
});
});
推荐阅读
- javascript - 渲染 DOM 时冻结 CSS 动画
- oracle - 使用文本导入器导入时数据库中的符号不正确
- reactjs - 如何使 iframe 内的反应视频播放器响应
- redux - SyntaxError:请求的模块“redux”不提供名为“createStore”的导出
- java - 如何在java中将字符串转换为bcd格式的字节数组?
- c# - 实体框架 - 无法引用实体上下文
- php -
没有被替换 - elasticsearch - FSCrawler 找不到现有的工作
- powershell - 通过 REST API 在 Power BI 报表服务器上设置报表数据源和凭据以建立计划刷新
- c# - 如何从游戏对象中获取任何脚本组件