I want to insert a document using a REST call to Firestore createDocument method. One of the fields is a timestamp field that should be set on the server. With Android SDK it's as simple as annotating a Date
field with @ServerTimestamp
and keeping it null — now how do I do it in REST?
{
"fields": {
"timezoneId": {
"stringValue": "Europe\/London"
},
"city": {
"stringValue": "London"
},
"timestamp": {
"timestampValue": "???"
}
}
}
I tried using null
, 0
, empty string, timestamp
— everything fails with an error requiring the standard RFC3339 format (e.g. 2018-01-31T13:50:30.325631Z
). Is there any placeholder value I can use, or any way to obtain that timestamp?
The Android SDK doesn't execute a
createDocument
request when creating the document. Instead it uses thewrite
request to issue anupdate
and atransform
request at the same time. If you are wanting to only usecreateDocument
, then the answer is no.Your payload would look something like this:
The only downside to adding documents this way is you would need to generate the
Document
ID yourself (the SDK's generate them). I hope this helps.