let ref = Firestore.firestore().collection("feedItems")
.whereField("uid", isEqualTo: uid)
.whereField("wasViewed", isEqualTo: false)
.whereField("isResharedPost", isEqualTo: false)
.whereField("story", isEqualTo: false)
.whereField("createdAt", isGreaterThan: dateFilter as Any)
.order(by: "createdAt", descending: false)
.limit(to: 25)
ref.getDocuments { (snapshot, err) in
我现在正在为stories添加选项,并希望查询相同的feedItems集合,其中story字段等于true
然而,在这种情况下,我还需要确保只获得不到24小时的对象。所以我希望我的查询有两个稍微不同的过滤器集
一个带有
.whereField("story", isEqualTo: true)
.whereField("postCreatedAt", isGreaterThan: storyFilter as Any)
.whereField("story", isEqualTo: false)
.whereField("createdAt", isGreaterThan: dateFilter as Any)
let ref = Firestore.firestore().collection("feedItems")
ref
.whereField("uid", isEqualTo: uid)
.whereField("wasViewed", isEqualTo: false)
.whereField("isResharedPost", isEqualTo: false)
.whereField("story", isEqualTo: false)
.whereField("createdAt", isGreaterThan: dateFilter as Any)
ref
.whereField("uid", isEqualTo: uid)
.whereField("wasViewed", isEqualTo: false)
.whereField("isResharedPost", isEqualTo: false)
.whereField("story", isEqualTo: true)
.whereField("postCreatedAt", isGreaterThan: storyFilter as Any)
ref.getDocuments { (snapshot, err) in
如果不可能合并,我将把它们分成两个单独的查询,然后依次调用。
Cloud Firestore中的单个查询只能对单个字段执行范围筛选(>=
、<=
等)。由于您似乎希望在createdat
和postcreatedat
上进行筛选,这是不可能的。
另见:
>
查询的Firebase文档,其中包含以下语句:
Firestore文档称: 使用子句进行查询。在这种情况下,应该将查询拆分为大于查询和小于查询。例如,尽管不支持查询子句,但可以通过组合两个查询获得相同的结果集,一个查询使用子句,另一个使用子句。 我需要抓住用户在一定的年龄范围,所以这似乎是一个伟大的方式来抓住相关的,但不幸的是,我显然不明白如何使用这一点。 这不起作用,当我使用时,我会得到错误。 更新:显然他们没有专门的SWIFT文档。 我得到
null 我认为这会起作用,因为它表示获取文档,其中user1等于“Alex”或“Adam”,user2等于“Adam”或“Alex”。但是在一个查询中不能多次使用in筛选器。我怎么才能让它工作? 以下是我的Firestore数据库的截图:
我有一个具有以下模式的待售项目集合: 我继承了一个聚合查询,它返回匹配类别的项目,按商家分组,组按组中的最大评级排序: 在此之后,代码继续按评级对每组中的项目进行排序,并删除除每组中排名前2位之外的所有项目。 作为聚合函数的一部分,是否可以在组内执行此排序和限制,以便聚合只返回每组中评级最高的两个项目?
问题内容: 我有一个联合查询,它从两个不同的总体中获取计数。如何强制结果按查询中写入的顺序而不是升序/降序返回? 我希望第一个结果始终作为第一行返回。这可能吗? 问题答案: 您必须使用ORDER BY子句指定订单。在您的示例中,您可以执行以下操作:
继我上一篇文章之后,我了解了个人收藏的写作限制 每秒500次写入一个收藏 这个500ps的限制如何适用于最近引入的集合组?(btw...托德在这里没有得到足够大的欢呼!: P) https://firebase.google.com/docs/firestore/query-data/queries#collection-组查询 Firestore限制仍然仅引用单个集合: https://fire
我想我读到您可以使用新的Firebase Firestore查询子集合,但我没有看到任何示例。例如,我以以下方式设置了Firestore: 舞蹈[收藏] DanceName 歌曲[收藏] 松南 我如何才能查询“查找所有的舞蹈在songName=='x'”