使用文档 auto-id firebase 查询“where”子句
Posted
技术标签:
【中文标题】使用文档 auto-id firebase 查询“where”子句【英文标题】:Querying "where" clause with document auto-id firebase 【发布时间】:2018-10-31 04:02:11 【问题描述】:我目前在一个使用 Firebase Cloud Firestore 和 VueJS 的项目中。
我有这个“where”子句,它需要所选集合的 id。基本上它必须更新,其中文档 id 有 this.editSemId。该方法还有其他一些东西,但我需要的只是一种从我在 firebase 的学期集合中获取文档 ID 的方法:
它的工作原理如下: http://recordit.co/Hu67ekLWHv
.collection(“学期”) .where(“DOCUMENT_ID”, “==”, this.editSemId)
我知道如何“获取”文档 id,这是通过“this.editSemId”完成的,但我不知道如何为上述查询获取它
【问题讨论】:
【参考方案1】:您可以使用FieldPath.documentId() 进行涉及文档ID 的查询。
.collection("semesters").where(FieldPath.documentId(), "==", this.editSemId)
【讨论】:
我的方法可能有问题:pastebin.com/7mvZiq2F 我收到错误:ReferenceError: FieldPath is not defined at VueComponent.editSemester 我不知道vue。您将不得不弄清楚如何获取 FieldPath,也许使用它的全名? 添加:从“firebase”导入firebase; .where(firebase.FieldPath.documentid(), @zetzah 如果可以插手讨论,全名好像是firebase.firestore.FieldPath
,见firebase.google.com/docs/reference/js/…
@RenaudTarnec 添加 .firestore 帮助我忘记在声明中添加 doc(.ref).update ,如果将来有其他用户遇到同样的问题,我感谢你们!
以上是关于使用文档 auto-id firebase 查询“where”子句的主要内容,如果未能解决你的问题,请参考以下文章
如果文档使用大型 Map 字段,则 Firebase Firestore 查询错误
SwiftUI Firebase - 如何查询文档然后更新?
Firebase查询:“where”子句不起作用,继续返回所有文档