Tho*_*ysa 1 arduino firebase esp8266 google-cloud-firestore
我使用带有 ESP8266-01 模块的 Arduino,使用具有以下负载的 createDocument API 将值上传到 Cloud Firestore 数据库:
{
"fields": {
"distance": {
"integerValue": "555"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我对这样的路线发出 POST 请求:
https://firestore.googleapis.com/v1beta1/projects/<MY_PROJECT>/databases/(default)/documents/<SOME_COLLECTION>?key=MY_VERY_SECRET_KEY
Run Code Online (Sandbox Code Playgroud)
这一切都有效,但我还想添加服务器时间戳。我在 stackoverflow 上找到了一些答案,但我无法使它们中的任何一个起作用。
如何将服务器时间戳添加到创建的文档中?我想要的是创建以下内容:
{
"fields": {
"distance": {
"integerValue": "555"
},
"timestamp" : {
"DATETIME": SERVER_TIMESTAMP
}
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏。
我最终做了以下事情:
对这样的路由的 POST 请求:
https://firestore.googleapis.com/v1beta1/projects/<MY_PROJECT>/databases/(default)/documents:commit?&key=<MY_VERY_SECRET_KEY>
具有以下有效负载:
{
"writes": [
{
"update": {
"name": "projects/<MY_PROJECT>/databases/(default)/documents/<COLLECTION_ID>/<DOCUMENT_ID>",
"fields": {
"distance": {
"integerValue": "555"
}
}
}
},
{
"transform": {
"document": "projects/<MY_PROJECT>/databases/(default)/documents/<COLLECTION_ID>/<DOCUMENT_ID>",
"fieldTransforms": [
{
"fieldPath": "servertime",
"setToServerValue": "REQUEST_TIME"
}
]
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
我生成一个新的 DOCUMENT_ID(例如 GUID),而不是让 cloud firestore 为我生成一个。
| 归档时间: |
|
| 查看次数: |
1453 次 |
| 最近记录: |