作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的功能
exports.updateUserSettings = functions.https.onRequest((request, response) => {
cors(request, response, () => {
setResponseHeaders(response);
console.log('input', request.body);
const name = request.body.name;
const settings = request.body.settings;
return db
.collection(COLLECTION_USERS)
.doc(name)
.update(settings)
.then(() => {
return response.status(200).json({
success: true,
data: null
});
})
.catch(error => {
return response.status(200).json({
success: false,
error: error,
data: null
});
});
});
});
{ name: 'frank6',
settings: '{"autoPass":true,
"autoRoll":true,
"colors": {
"check":"#000000",
"dark":"#b58863",
"light":"#f0d9b5",
"mate":"#ff4500",
"selected":"#90ee90",
"source":"#90ee90",
"target":"#228b22"
},
"language":"en",
"showCheckMoves":true,
"showFileRank":true,
"showLastOpponentMove":true,
"showMateMoves":true,
"showMoves":true,
"sounds":true,
"view":"2D"
}'
}
Future<void> updateUserSettings(ChexiUser user) async {
await http.post(CLOUD_FUNCTIONS_BASE_URL + '/updateUserSettings', body: {
'name': user.name,
'settings': convert.jsonEncode(user.toSettingsFirebaseDocument())
});
}
Map<String, dynamic> toSettingsFirebaseDocument() {
return {
'autoPass': settingsAutoPass,
'autoRoll': settingsAutoRoll,
'colors': {
'check': settingsColorsCheck,
'dark': settingsColorsDark,
'light': settingsColorsLight,
'mate': settingsColorsMate,
'selected': settingsColorsSelected,
'source': settingsColorsSource,
'target': settingsColorsTarget
},
'language': settingsLanguage,
'showCheckMoves': settingsShowCheckMoves,
'showFileRank': settingsShowFileRank,
'showLastOpponentMove': settingsShowLastOpponentMove,
'showMateMoves': settingsShowMateMoves,
'showMoves': settingsShowMoves,
'sounds': settingsSounds,
'view': settingsView
};
}
}
最佳答案
好吧,事实证明这只是一个简单的错误。我只需要用JSON.parse()包装我的request.body
const settings = JSON.parse(request.body.settings);
关于firebase - 如何在Firestore中的嵌套文档中更新嵌套文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60646145/
我是一名优秀的程序员,十分优秀!