如何以编程方式将查询添加到 Firestore 调用
Posted
技术标签:
【中文标题】如何以编程方式将查询添加到 Firestore 调用【英文标题】:How to programmatically add queries to a firestore call 【发布时间】:2022-01-07 14:53:25 【问题描述】:我提供了一个键值对字典,我希望将其用作 firestore 查询中的一组 whereFields。鉴于 whereFields 如何添加到文档的语法,我看不出这是怎么可能的。任何想法将不胜感激。
例如,我想做这样的事情......
var queries = ["key1": 0, "key2": 1]
let db = Firestore.firestore()
var ref = db. collection("myDocument")
for (key, value) in queries
ref = ref.whereField(key, isEqualTo: value)
let snapshot = try? await ref.getDocuments()
但这并不能编译说 ref 是一个集合,但右侧是一个 CollectionReference。
【问题讨论】:
【参考方案1】:您需要将初始 CollectionReference 转换为其超类 Query 并使用它来构建最终查询。
var ref: Query = db.collection("myDocument")
CollectionReference 只是一个没有过滤器的查询。
【讨论】:
太棒了,我会试试的。非常感谢! 不幸的是,使用此解决方案返回的文档无法使用document.data(as: Type.self)
sigh 解码。有什么解决方法吗?
如果您有新问题,您应该单独发布,并附上未按预期方式工作的特定代码。
是的,我在这里做过:***.com/questions/70191265/…以上是关于如何以编程方式将查询添加到 Firestore 调用的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式将元素添加到 ConfigurationElementCollection?