firestore文档似乎使我感到困惑。假设我有一组帖子:
posts: [{ name: 'Foo' }, { name: 'Bar' }]
我想获得一个名称为Foo
的帖子。
遵循本指南: https://firebase.google.com/docs/firestore/query-data/get-data
它以这一行开头:
var docRef = db.collection("cities").doc("SF");
我不了解.doc("SF")
的含义。 SF
是ID吗?如果我的ID是自动生成的怎么办?我想使用这种方法来获取数据:
docRef.get().then(function(doc) {
if (doc.exists) {
...
}
}
但是对文档感到困惑。用get()
处理数据的最佳方法是什么?
答案 0 :(得分:2)
首先,请确保您understand the Cloud Firestore data model。它与Firebase实时数据库(以前称为Firebase)不同。
如果示例中的posts
是包含两个文档的集合,则可以使用query通过name
查找文档:
var query = db.collection("posts").where("name", "==", "Foo");
var querySnapshot = await query.get();
现在querySnapshot
将是与您的查询匹配的一系列文档。
您需要使用index进行任何类型的查询,但是这个查询非常简单,可以自动为您创建。