node.js - 当我有额外的不等式 where() 标准时,如何从 firestore 集合中获取随机文档?
问题描述
我正在尝试编写一个nodejs云函数来从我在firestore中的'profiles'集合中获取一个随机文档,如下所示:
randomProfile = await admin.firestore().collection('profiles')
.where('fieldA', '==', ...)
.where('fieldB', '==', ...)
.where('fieldC', '==' ...)
.where('fieldD', '==',...)
.where('fieldE', '<=', ...)
.where('fieldE', '>=', ...)
.offset(random)
.limit(1)
.get()
由于我使用了<=
and >=
for fieldE
,并且由于 firestore只允许在一个字段上存在不等式,因此我正在尝试使用 offset 子句来获取随机文档。
我的问题是:如何为random
没有“越界”条件的值分配一个值?换句话说,我不想random
大于查询可以返回的文档数量......
请帮忙!这是在我当前的项目中继续使用 Firestore 的成败问题,而且我已经走得太远了!
注意:由于问题,我无法使用此解决方案fieldE
。
解决方案
推荐阅读
- azure - 使用 AAD 身份验证将 Blazor 应用部署到 Azure
- git - 如何在 docker 中使用 keybase 的 git?
- c++ - 将表情符号字符串转换为 icu::UnicodeString
- java - compareTo() 抛出空指针异常
- php - 如何在php中的单个变量中添加3个下拉菜单?
- java - 'while' 无限循环使用扫描仪输入和 pos/neg 数字
- python-3.x - 如何在 Python 中为每一行数据框创建唯一的 XML
- asp.net-core - 将 JWT 令牌存储在内存中是否是一种好习惯
- c++ - 如何使用 CMake 自动链接 boost 库
- c - C、为什么我的自定义释放函数给我“指针被释放没有分配”错误