使用嵌套字段订购 firestore 文档

问题描述 投票:0回答:1

尝试 Firestore REST API,文档指出要对项目进行排序

?orderBy=name%20desc
此命令使用文档名称按降序排列。我需要订购的文件具有以下结构

{
  "name": "document_name",
  "fields":{
    "createTime": "2024-08-23T23:06:05.206209Z",
  }
}

如何使用 createTime 字段进行订购?因为执行

?orderBy=fields.createTime
返回空 JSON。

firebase rest google-cloud-platform google-cloud-firestore
1个回答
0
投票

据我所知,Firestore REST API 不允许像您现在尝试那样直接在嵌套字段(如

fields.createTime
)上进行排序。但是,此技术仅在您使用移动或网络 SDK 时才有效。

因此,为了解决这个问题,我建议您修改文档的结构,使

createTime
成为文档中的顶级字段,而不是嵌套字段:

{
  "name": "document_name",
  "createTime": "2024-08-23T23:06:05.206209Z", //👈
  "fields": {
    //Other fields.
  }
}

因为在您当前的文档中,在

fields
字段内,除了
createTime
之外,我看不到其他字段,因此嵌套结构根本没有好处。另请注意,在使用日期和时间时,最好使用 Firestore 时间戳。您当前将日期和时间存储为字符串,这可能会导致词典顺序。为了更好地理解,请查看我对以下问题的回答:

© www.soinside.com 2019 - 2024. All rights reserved.