当前位置: 首页 > 面试题库 >

如何在Firebase Firestore中使用查询

戎鹏云
2023-03-14
问题内容

我正在使用Firebase函数和Firebase Firestore开发用于存储用户数据的API。

我想使用存储在其字段中的属性来查找文档。这是Firebase文档,其中说明了如何实现相同的功能。

// Create a reference to the cities collection
var citiesRef = db.collection('cities');

// Create a query against the collection
var queryRef = citiesRef.where('state', '==', 'CA');

我想处理两种情况

  1. 在没有文件的情况下

  2. 有两个以上具有当前条件的文件

如何处理以上两种情况?


问题答案:

按照上面的注释中的“讨论”,在Cloud
Function中,您可以使用方法QuerySnapshot返回的get()方法进行以下操作:

admin.firestore().collection("cities")
    .where('state', '==', 'CA')
    .get()
    .then(querySnapshot => {
        if (querySnapshot.size == 0) {
            console.log("0 documents");
        } else if (querySnapshot.size > 2) {
            console.log("More than 2 documents");
        } 
    });

如上所述,请注意,这将花费阅读集合中每个文档的成本。如果您有一个非常大的集合,则可以编写一个Cloud
Function,每次在该集合中添加文档或从中删除文档时都会更新计数器。



 类似资料:
  • 我正在使用Firebase函数和Firebase FiRecovery开发一个存储用户数据的API。 我想使用存储在字段中的属性来定位文档。这是Firebase文档,其中说明了如何实现相同的目标。 我想处理两种情况 > 如果没有符合当前条件的文件 如果有两份以上的现有条件文件 上述两种情况如何处理?

  • 问题内容: 如何在MySql中运行此查询? 它会显示如下错误消息: 问题答案: 该语句/方法适用于PostgreSQL和Sybase(我想可能还有更多),所以也许您可以看一下: http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html 它应该向您展示一些使用MySQL的方法(以及PHP中的一两个方法,我只知道它不在您的标签列

  • 问题内容: 我非常热衷于在CSS中使用媒体查询,但是我对如何使用它感到困惑。我有立场 我的查询要求是 如果屏幕宽度是100到480,那么会出现不同的样式, 如果屏幕宽度从481到600,那么会出现不同的样式, 如果屏幕宽度为601到800,那么会出现不同的样式, 如果屏幕宽度为801,则默认CSS应该有效。 问题答案:

  • 我必须得到特定的数据,如"角色"表已提交状态,我需要状态=1,所有数据从角色表

  • 我尝试为特定的查找我的实体。我的实体知道一周中的几天作为集合,知道两个作为开始和结束。 我的实体是这样的: 当我运行调用方法的测试时,我得到以下信息: 我搜索了一些关于如何在中正确使用panache的信息,但不幸的是,我没有找到任何信息。

  • 问题内容: 我想查询mysql数据库中的表以获取切片值: 但是我得到这个错误: 我怎样才能解决这个问题? 问题答案: sqlx为此提供了很好的帮助:在In()中,我们只需要使用args和Rebind准备查询,如下所示: 另外,我建议您在这里看看:http : //jmoiron.github.io/sqlx/有很多示例,包括 IN