[解決済み] フィールドの種類を変更するには?
2022-04-20 01:16:06
質問
mongo シェルからフィールドのタイプを変更しようとしています。
こんなことをやっています...
db.meta.update(
{'fields.properties.default': { $type : 1 }},
{'fields.properties.default': { $type : 2 }}
)
でも、うまくいかないんです!
どうすればいいですか?
を変更する唯一の方法は
$type
のデータに対して更新を行い、データが正しい型を持つようにすることです。
この場合、どうやら
$type
1 (double) から 2 (string) に変更する。
.
そのため、単純にDBからドキュメントをロードし、キャスト(
new String(x)
)し、再度ドキュメントを保存します。
これをプログラム的に、完全にシェルから行う必要がある場合は
find(...).forEach(function(x) {})
構文があります。
下記2番目のコメントに対して。フィールドを変更する
bad
を数値から文字列に変更し、コレクション
foo
.
db.foo.find( { 'bad' : { $type : 1 } } ).forEach( function (x) {
x.bad = new String(x.bad); // convert field to string
db.foo.save(x);
});
関連
-
[解決済み] 配列フィールドが空でない MongoDB レコードを検索する
-
[解決済み] MongoDBに "like "を使ってクエリを実行する方法
-
[解決済み] コマンドラインからMongoDBデータベースを削除する方法を教えてください。
-
[解決済み] mongodbの最後のN個のレコードを取得する方法は?
-
[解決済み] MongoDBのリレーションシップ:埋め込みか参照か?
-
[解決済み] MongoDB コレクションのすべてのドキュメントに新しいフィールドを追加する
-
[解決済み】シェルスクリプトでmongoのコマンドを実行するには?
-
[解決済み】Mongoose: findOneAndUpdateが更新されたドキュメントを返さない
-
[解決済み】Dockerコンテナのディスク使用量を分析する方法
-
[解決済み] コマンド1つでmongo DBを停止する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
MongoDBバランサーの使い方を解説
-
MongoDBのメモリ管理関連まとめ
-
Navicat Premiumでmongodbと接続する詳細チュートリアル
-
MongoDBの共通データ型と基本操作
-
[解決済み】SocketException: アドレスはすでに使用中です。
-
Mongodbの包括的なまとめ
-
MongoDBデータベースのインストールとデプロイメント、および警告の最適化
-
CentOS7でのMongoDBのインストールと基本的な操作方法
-
[解決済み] 小規模な.NETアプリケーションに適したデータベースの選択とは?[クローズド]
-
[解決済み] リレーショナルデータベースではなく、NoSQLデータベースを使用する必要があるのはどのような場合ですか?同じサイトで両方使っても問題ないですか?