📜  如何在 Firestore 中查询 (1)

📅  最后修改于: 2023-12-03 15:38:15.650000             🧑  作者: Mango

如何在 Firestore 中查询

Firestore 是一种非关系型文档数据库,它是 Google Cloud 平台的一部分。Firestore 适用于 Web、移动和服务器端开发,它支持实时数据同步、事务处理等高度实用的功能。

在 Firestore 中进行查询非常简单,您只需要创建一个查询,然后使用该查询来提取有关该集合中特定文档的数据。

基本查询

Firestore 中的基本查询包括以下步骤:

  1. 初始化 Firestore
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();
  1. 获取集合的引用
const collectionRef = db.collection('collection_name');
  1. 创建查询
const query = collectionRef.where('field_name', '==', 'field_value');

其中,field_name 表示要查询的字段名,field_value 表示要查询的字段值。

  1. 触发查询
query.get()
  .then((querySnapshot) => {
    querySnapshot.forEach((doc) => {
      console.log(doc.id, ' => ', doc.data());
    });
  })
  .catch((error) => {
    console.log('Error getting documents: ', error);
  });

这段代码将执行查询,然后循环迭代查询结果中的每个文档,并将其 ID 和数据打印到控制台上。

复杂查询

在 Firestore 中,您可以使用多个查询条件创建复杂的查询。例如,您可以使用 whereorderBylimitstartAfter 等函数来创建查询。

下面是一个使用 whereorderBylimitstartAfter 函数创建的复杂查询的示例:

const query = collectionRef
  .where('field1', '==', 'value1')
  .where('field2', '>', 'value2')
  .orderBy('field3')
  .limit(10)
  .startAfter(documentSnapshot);

其中,field1field2field3 分别表示查询中的三个字段,value1value2 分别表示两个查询条件的值。orderBy 函数用于对查询结果进行排序,limit 函数用于设置查询结果的最大数量。startAfter 函数用于指定查询结果从哪个文档开始读取(这里的 documentSnapshot 表示文档的快照)。

总结

Firestore 提供了一个简单易用的查询接口,能够满足大多数应用程序的数据查询需求。无论您是 Web 开发人员、移动应用程序开发人员还是后端开发人员,Firestore 都可以为您提供出色的数据库服务。