我注意到由API/runQuery返回的文档确实包含文档名称,但我无法在structuredQuery文档中找到如何通过多个id查询的任何信息。
{
document: {
name: 'projects/:projectId/databases/(default)/documents/collection/id',
fields: ...,
createTime: '2021-01-16T13:35:02.151442Z',
updateTime: '2021-01-18T10:42:32.257199Z'
},
readTime: '2021-01-18T17:10:33.600112Z'
},
Firestore确实支持通过文档idCollection.where(firestore.FieldPath.documentId(), 'in', ["123","456","789"])
的where查询,所以我认为Rest API可能也支持。
我错过了什么,或者runQuery
不支持queryById功能?
可以通过调用batchGet endpoint:
https://content-firestore.googleapis.com/v1beta1/projects/<PROJECT_ID>/databases/(default)/documents:batchGet
,在请求体上使用以下JSON。
{
"documents": [
"projects/<PROJECT_ID>/databases/(default)/documents/<COLLECTION_ID>/<DOC_ID1>",
"projects/<PROJECT_ID>/databases/(default)/documents/<COLLECTION_ID>/<DOC_ID2>",
"projects/<PROJECT_ID>/databases/(default)/documents/<COLLECTION_ID>/<DOC_ID3>",
]
}