[解決済み] MongoDBのキー名におけるドット(.)
2022-12-05 09:42:43
質問
mongo はドット (.) やドル記号 ($) を含むキーの挿入を許可しないようですが、mongoimport ツールを使用してドットを含む JSON ファイルをインポートしたところ、うまくいきました。ドライバはその要素を挿入しようとして文句を言っています。
データベースではこのようなドキュメントになっています。
{
"_id": {
"$oid": "..."
},
"make": "saab",
"models": {
"9.7x": [
2007,
2008,
2009,
2010
]
}
}
私はこれをすべて間違っていて、外部データ(つまりモデル)でこのようなハッシュマップを使うべきではないのでしょうか、それともどうにかしてドットを逃れることができるのでしょうか?もしかしたら、私はあまりにもJavascriptのように考えているのかもしれません。
どのように解決するのですか?
MongoDBがサポートしていない キーにドット をサポートしていないので、JSON ファイルをインポートする前にそれらを削除したり置き換えたりする前処理が必要になります。
この問題に対する標準的な回避策はなく、最良の方法は状況の細部に依存しすぎています。しかし、JSON の再構築がおそらく 1 回限りのコストであるのに対し、キー エンコーダー/デコーダーのアプローチは永久にその不便さを払い続けることになるため、可能であれば避けたいと思います。
関連
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] JavaScriptのオブジェクトにキーと値のペアを追加するにはどうすればよいですか?
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] コマンドラインからMongoDBデータベースを削除する方法を教えてください。
-
[解決済み] MongoDBとその逆の上にCouchDBを使用するとき
-
[解決済み】オブジェクトの型の名前を取得する
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
-
[解決済み] JSXとLoadshを使用して、ある要素をn回繰り返す方法
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] モデルフェッチ時に1をtrueに、0をfalseに変換する方法
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?