首页 > 解决方案 > Cloud Firestore 中的查询和请求

问题描述

是否可以使用请求库从云 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”。'}]}]}}

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

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

非常感谢。

标签: pythongoogle-cloud-firestorepython-requestsquerying

解决方案


实时数据库和 Firestore 是两种不同的产品,但两者都在 Firebase 中可用。前任。Firestore 在 Google Cloud Console 上也可用,而实时数据库则不可用。请查看这篇文章以获取更多详细信息。

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

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

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


推荐阅读