【发布时间】:2022-01-08 14:45:25
【问题描述】:
在 Firestore 的 users 集合中,我将所有用户的 uid 作为文档,在每个用户文档中我存储用户首选项。
例如,这是我保存在特定用户文档中的用户偏好示例:
{
"preferences": {
"settings": {
"themeColorMode": "light-mode",
"debugMode": false
},
"filterChips": {
"pathName": {
"filterChipsPreferences": true
}
}
}
}
我想用 API 正文中发送的数据更新用户文档
我希望该 API 以某种方式兼容
- 我应该能够添加除首选项之外的另一个根节点
- 我应该可以在
preferences.settings&preferences.filterChips中自定义和添加新节点 - 我应该能够更新特定节点 - 示例:
preferences.settings.themeColorMode&preferences.filterChips.filterChipsPreferences
例如,在请求正文中我发送此信息:
{
"preferences": {
"settings": {
"themeColorMode": "dark-mode",
"isSoundNotificationOn": false,
"isAppListeningToStream": true
},
"filterChips": {
"pathName": {
"filterChipsPreferences": false
},
"FirstUsedSearch": "23/12/2021"
},
"columnDefs": {
"pathName": {
"ColumnDefsPreferences": true
}
},
},
"search": {
"savedSearches":["searchName"]
}
}
我希望这个结果保存在用户的文档中
{
"preferences": {
"settings": {
"themeColorMode": "dark-mode",
"isSoundNotificationOn": false,
"isAppListeningToStream": true,
"debugMode": false
},
"filterChips": {
"pathName": {
"filterChipsPreferences": false
},
"FirstUsedSearch": "23/12/2021"
},
"columnDefs": {
"pathName": {
"ColumnDefsPreferences": true
}
},
"search": {
"savedSearches":["searchName"]
}
}
}
我该如何处理?
【问题讨论】:
-
您真的想构建自己的 API 来接收有效负载然后连接到 Firestore?或者您已经准备好/可以使用标准的 JavaScript SDK?
-
@RenaudTarnec 它必须是一个 API,它从前端用户接收有效负载并将其提供给将连接到 Firestore 的服务器以实现上述几点,你认为这可能吗?跨度>
-
当然可以。但是哪种服务器会连接到 Firestore?您可以在此服务器上使用什么语言?应该可以在此服务器上使用 Admin SDK 提供的服务器库之一。
-
@RenaudTarnec 我正在使用 typescript 作为一种语言,是的,我正在使用 Firebase Admin SDK
-
好的,我会写一个anwser。
标签: node.js google-cloud-firestore firebase-admin