python - 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”。'}]}]}}
对于实时数据库来说还可以。
我知道问题要复杂得多,但我不知道从哪里开始解决它。
非常感谢。
解决方案
实时数据库和 Firestore 是两种不同的产品,但两者都在 Firebase 中可用。前任。Firestore 在 Google Cloud Console 上也可用,而实时数据库则不可用。请查看这篇文章以获取更多详细信息。
因此,如果它们是完全不同的产品,很难想象它们会在相同的 API 上工作。
我想您已经使用这个 Realtime Database API创建了示例请求。这当然不适用于 Firestore。Firestore有一个等效的API, 它要复杂得多。这并不奇怪,因为 Firestore 是为更高级的使用而设计的。
因此,如果您要求起点,我建议您熟悉 API 并尝试使用它。我希望它会有所帮助!祝你好运!
推荐阅读
- sql - 我可以在 sql 触发器的 If 语句中有多个查询语句吗?
- matlab - Matlab中匿名函数定义中的匿名函数调用
- javascript - 如何通过电子邮件发送 PDF,其内容以表格形式显示?
- c++ - 在循环的下一次迭代中重置布尔值
- wordpress - Gulp 的浏览器与 MAMP 同步,未加载图像
- npm - GYP 问题安装 yo hyperledger
- javascript - 如何将数组作为对象数组返回?
- ios - 由于缺少 NSPhotoLibraryAddUsageDescription 而报告应用程序崩溃,但我的应用程序从不使用任何照片
- javascript - 在 Promise.all() 之外无法访问数据
- javascript - 获取音频文件并将其加载到表单附件中