【问题标题】:Queries in cloud firestore and requestsCloud Firestore 中的查询和请求
【发布时间】:2020-07-31 00:52:38
【问题描述】:

是否可以使用 requests 库从 Cloud Firestore 查询数据? 例如数据库是这样的::

我尝试获取数据(获取“add_date”等于“01.08.2020”的所有文档并将这些限制为 3):

result = requests.get('https://firestore.googleapis.com/v1/projects/**************************maindata/.json?orderBy="add_date"&EqualTo="01.01.2020"&limitToLast=3')

但我收到错误:

{'error': {'code': 400, 'message': '收到无效的 JSON 有效负载。未知名称“limitToLast”:无法绑定查询参数。在请求消息中找不到字段“limitToLast”。\n收到的 JSON 负载无效。未知名称“EqualTo”:无法绑定查询参数。在请求消息中找不到字段“EqualTo”。','status':'INVALID_ARGUMENT','details':[{'@type':'type.googleapis.com/google.rpc.BadRequest','fieldViolations' : [{'description': '收到无效的 JSON 有效负载。未知名称“limitToLast”:无法绑定查询参数。在请求消息中找不到字段 'limitToLast'。'}, {'description': '收到的 JSON 负载无效。未知名称“EqualTo”:无法绑定查询参数。在请求消息中找不到字段“EqualTo”。'}]}]}}

对于实时数据库来说还可以。

我知道问题要复杂得多,但我不知道从哪里开始解决它。

非常感谢。

【问题讨论】:

  • 是的,这是可能的。 Firestore 有一个 REST API。它与实时数据库不同。如果没有看到您发送的详细信息,我们就无法知道您哪里出错了。
  • 我编辑了我的帖子以更好地展示我的问题。
  • 您不能使用实时数据库 API 来查询 Firestore。它们有完全不同的 API。

标签: python google-cloud-firestore python-requests querying


【解决方案1】:

实时数据库和 Firestore 是两种不同的产品,尽管 Firebase 中都提供了这两种产品。前任。 Firestore 在 Google Cloud Console 上也可用,而实时数据库则不可用。请查看此article 了解更多详情。

因此,如果它们是完全不同的产品,很难想象它们会在相同的 API 上工作。

我假设您已经使用this Realtime Database API 创建了示例请求。这当然不适用于 Firestore。有一个等效的API for Firestore,它要复杂得多。这并不奇怪,因为 Firestore 是为更高级的使用而设计的。

因此,如果您要求起点,我建议您熟悉 API 并尝试使用它。我希望它会有所帮助!祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2019-09-03
    • 2018-10-15
    • 2020-06-29
    • 1970-01-01
    相关资源
    最近更新 更多