Cloud Firestore 中的查询和请求

Queries in cloud firestore and 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': 'Invalid JSON payload received. Unknown name "limitToLast": Cannot bind query parameter. Field 'limitToLast' could not be found in request message.\nInvalid JSON payload received. Unknown name "EqualTo": Cannot bind query parameter. Field 'EqualTo' could not be found in request message.', 'status': 'INVALID_ARGUMENT', 'details': [{'@type': 'type.googleapis.com/google.rpc.BadRequest', 'fieldViolations': [{'description': 'Invalid JSON payload received. Unknown name "limitToLast": Cannot bind query parameter. Field 'limitToLast' could not be found in request message.'}, {'description': 'Invalid JSON payload received. Unknown name "EqualTo": Cannot bind query parameter. Field 'EqualTo' could not be found in request message.'}]}]}}

对于实时数据库没问题。

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

非常感谢。

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

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

我想您已经使用 this Realtime Database API. This of course will not work with Firestore. There is an equivalent API for Firestore 创建了示例请求,这要复杂得多。这并不奇怪,因为 Firestore 是为更高级的用途而设计的。

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