admin管理员组

文章数量:1435859

Trying out Firestore REST API, the documentation states that to order items ?orderBy=name%20desc this orders using the document name in descending order. The documents I need to order have the following structure

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

How could I order using the createTime field? since doing ?orderBy=fields.createTime returns empty JSON.

Trying out Firestore REST API, the documentation states that to order items ?orderBy=name%20desc this orders using the document name in descending order. The documents I need to order have the following structure

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

How could I order using the createTime field? since doing ?orderBy=fields.createTime returns empty JSON.

Share Improve this question edited Nov 19, 2024 at 6:49 Alex Mamo 139k18 gold badges169 silver badges201 bronze badges asked Nov 17, 2024 at 6:43 mbithimbithi 375 bronze badges 3
  • Removed the google-cloud-firestore tag since using ?orderBy= in the query string is the way used to filter with the RTDB REST API – Renaud Tarnec Commented Nov 18, 2024 at 8:06
  • Hey mbithi. Is it the Realtime Database or Cloud Firestore? – Alex Mamo Commented Nov 18, 2024 at 8:16
  • it's cloud firestore – mbithi Commented Nov 19, 2024 at 5:12
Add a comment  | 

1 Answer 1

Reset to default 0

As far as I know, Firestore REST API doesn't allow ordering directly on nested fields (like fields.createTime) as you are trying to do right now. However, this technique will only work if you use mobile or web SDKs.

So to solve this, I recommend you modify the structure of your document so that createTime becomes a top-level field in the document and not a nested one:

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

本文标签: firebaseOrdering Firestore documents using a nested fieldStack Overflow