MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBで文字列値から先頭・末尾の空白を削除する方法

MongoDBに保存された文字列データに不要な空白が含まれている場合、forEach()を使って各ドキュメントを走査し、JavaScriptのtrim()メソッドで先頭と末尾の空白を取り除くことができます。本記事では、その具体的な手順を順を追って解説します。

サンプルコレクションの作成

まず、前後に空白を含む文字列を持つドキュメントを挿入し、テスト用のコレクションを作成しましょう。

> db.removingWhiteSpaceDemo.insertOne({"Title":" Introduction to java "});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd66f387924bb85b3f4894c")
}

現在のドキュメントの確認

find()メソッドを使用すると、コレクション内のすべてのドキュメントを表示できます。

> db.removingWhiteSpaceDemo.find();

実行すると、次のように「Introduction to java」の前後に空白が残った状態で表示されます。

{ "_id" : ObjectId("5cd66f387924bb85b3f4894c"), "Title" : " Introduction to java " }

空白を削除するクエリ

文字列値から先頭と末尾の空白を削除するには、forEach()で各ドキュメントを処理し、trim()メソッドの結果を$set演算子で書き戻します。

> db.removingWhiteSpaceDemo.find({},{"Title": 1 }).forEach(function(myDocument) {
   myDocument.Title = myDocument.Title.trim();
   db.removingWhiteSpaceDemo.update(
      { "_id": myDocument._id },
      { "$set": { "Title": myDocument.Title } }
   );
});

更新結果の確認

再度、同じコレクションからドキュメントを取得して結果を確認してみましょう。クエリは以下の通りです。

> db.removingWhiteSpaceDemo.find();

出力を見ると、Titleフィールドから余分な空白が完全に取り除かれていることがわかります。

{ "_id" : ObjectId("5cd66f387924bb85b3f4894c"), "Title" : "Introduction to java" }

このように、forEach()trim()、そして$set演算子を組み合わせることで、コレクション内の文字列フィールドの前後の空白をまとめてクリーンアップできます。なお、新しいバージョンのMongoDBでは、非推奨となったupdate()の代わりにupdateOne()updateMany()を使用することが推奨されている点にも注意してください。

  1. Pythonで文字列から特殊文字・句読点・空白をすべて削除する方法

    Pythonで文字列に含まれる特殊文字、句読点、空白などをまとめて削除したい場合、いくつかの簡単な方法があります。ここでは代表的な2つのアプローチを紹介します。 方法1:内包表記とisalnum()を使う 文字列を1文字ずつ反復処理し、isalnum()メソッドで英数字のみを抽出する方法です。isalnum()は、その文字がアルファベットまたは数字であればTrueを返すため、それ以外の記号や空白は自動的に除外されます。 >>> string = Hello $#! People   Whitespace 7331 >>> .join(e fo

  2. Pythonで文字列の先頭と末尾の空白をすべて削除する方法

    strip()メソッドで両端の空白をまとめて削除するPythonで文字列の先頭と末尾にある空白(半角スペース、タブ、改行など)をすべて削除したい場合は、文字列クラスのstrip()メソッドを使います。このメソッドは、文字列両端の空白を一度に取り除いてくれます。>>>   Hello People   .strip()Hello Peopleこのように、前後の余分な空白が取り除かれたきれいな文字列が得られます。ユーザー入力の整形やファイルから読み込んだデータのクリーニングなど、日常的なテキスト処理で非常によく使われるメソッドです。先頭または末尾だけの空白を