Swift Firestore对Orderd By的查询无效?
我正在尝试查询一组帖子。每个帖子都有一个watched by部分,如果watched by部分包含用户,那么查询应该返回该值。但是,当我运行查询时:Swift Firestore对Orderd By的查询无效?,swift,firebase,google-cloud-firestore,Swift,Firebase,Google Cloud Firestore,我正在尝试查询一组帖子。每个帖子都有一个watched by部分,如果watched by部分包含用户,那么查询应该返回该值。但是,当我运行查询时: let postsReference=Firestore.Firestore().collection(“posts”) 让watchingQuery=postsReference.order(by:“watchedBy/\(UID!)”)。开始(在:[“”]) watchingQuery.addSnapshotListener{querySnap
let postsReference=Firestore.Firestore().collection(“posts”)
让watchingQuery=postsReference.order(by:“watchedBy/\(UID!)”)。开始(在:[“”])
watchingQuery.addSnapshotListener{querySnapshot,中出现错误
guard let snapshot=querySnapshot else{
打印(“获取快照时出错:\(错误!)”)
返回
}
snapshot.documentChanges.forEach{diff in
如果(差异类型==.添加){
}
如果(差异类型==.modified){
}
如果(差异类型==.已删除){
}
}
我得到的错误字段路径无效(由/BmVoasdfa34fdtiucWSb8XPPM42监视)。路径不能包含“~”、“*”、“/”、“[”或“]”
。等效的firebase查询工作正常:
让watchedByQuery=postReference.queryOrdered(byChild:“/watchedBy/”+UID!)。queryStart(atValue:)
我已尝试将代码更改为let watchingQuery=postsReference.order(by:“watchedBy.\(UID!)”)。开始(在:[“”])
。此查询有效,但FireStore不会返回任何内容
编辑:
已尝试:
let postsReference=Firestore.Firestore().collection(“posts”)
让watchingQuery=postsReference.whereField(“watchedBy.”+(UID!)大于:“”
但是仍然返回空。结果是,我的发布方法仍然与执行乘法更新的firebase方法相同。因此,发布机制发布到错误的路径