[解決済み] クラウドファイアーストア ネストされたオブジェクトのフィールドを動的キーで更新する
2023-07-31 05:32:55
質問
firestoreの公式ドキュメントによると、以下のようになります。
{
name: "Frank",
favorites: { food: "Pizza", color: "Blue", subject: "recess" },
age: 12
}
// To update favorite color:
db.collection("users").doc("frank").update({
"favorites.color": "Red"
})
色の代わりにダイナミックキーを使いたいのですが。
db.collection("users").doc("frank").update({
"favorites[" + KEY + "].color": true
});
のようにすると、もちろん不可能であり、エラーを投げることになります。
これをやろうとしていたのですが.
db.collection("users").doc("frank").update({
favorites: {
[key]: {
color": true
}
}
});
実際には正しいキーで更新されているのですが、残念ながら他のキーが上書きされています(削除されています)。
どのように解決するのですか?
firebaseのソリューションにヒントを得て、解決策を見つけました("/"を"."に置き換える)。
var usersUpdate = {};
usersUpdate[`favorites.${key}.color`] = true;
db.collection("users").doc("frank").update(usersUpdate);
関連
-
[解決済み] オブジェクトをメンバーとして、プレーンなJavaScriptオブジェクトをループさせる方法
-
[解決済み] テキストボックスのEnterキーで、JavaScriptでボタンクリックをトリガーする
-
[解決済み] JavaScript のネストしたオブジェクトや配列に文字列パスでアクセスする
-
[解決済み] Cloud FirestoreとFirebase Realtime Databaseの違いとは?
-
[解決済み】ネストされたJavaScriptオブジェクトのキーが存在するかどうかをテストする
-
[解決済み] Firestoreで「オブジェクトの配列」を更新する方法とは?
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] 変異を伴わないオブジェクトからの値の削除
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] チェックボックスが選択されているかどうかを確認するjQuery
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] これは純関数ですか?