【发布时间】:2019-04-13 20:11:11
【问题描述】:
我正在开发一款浏览器游戏,并且我在 Firestore 中有一个如下所示的集合:
{
title: "doc 1",
requirements: {
level: {
min: 2,
max: 3
}
}
},
{
title: "doc 2",
requirements: {
level: {
min: 6,
max: 8
}
}
},
{
title: "doc 3",
requirements: {
level: {
min: 8,
max: 9
}
}
}
有没有办法查询所有与给定级别匹配的文档,例如当我的级别为 8 时,我只想获取文档“doc 2”和“doc 3”,因为级别要求匹配?
我尝试过类似的东西
ref.where("requirements.level.min", "<=", level);
ref.where("requirements.level.max", ">=", level);
我还尝试将文档中的结构更改为:
{
title: "doc 1",
requirements: {
level: [2, 3]
}
},
{
title: "doc 2",
requirements: {
level: [6, 7, 8]
}
}
并像这样过滤它
ref.where("requirements.level", "array-contains", level)
但 firestore 总是将所有文档返回给我。
【问题讨论】:
-
问题解决了吗?
-
很遗憾没有
-
如果我能提供一个暗示您的数据库结构发生一些变化的答案,会有帮助吗?
-
我正处于开发阶段的开始,所以我很感谢每一个建议!
-
请检查我的答案并发布更多代码 - 数组包含不应返回所有文档。
标签: javascript google-cloud-firestore