使用文档 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 查询错误

如何使用颤振在firebase中进行查询?

SwiftUI Firebase - 如何查询文档然后更新?

Firebase查询:“where”子句不起作用,继续返回所有文档

Firebase - Cloud Functions - 对集合进行查询

Flutter Bloc 与 firebase 查询有多种关系