$replaceOne (最初の一致を置換)

最終更新:2026-10-09

$replaceOne (最初の一致を置換)

$replaceOne は文字列内の部分文字列の最初の出現を、指定した置換文字列に置き換えます。タイプミスの修正や接頭語の差し替えに便利です。find は空でない文字列でなければならず、空だとエラーになります。find が現れない場合は入力がそのまま返ります。正規表現はサポートしないリテラル置換で、パターンを使う場合は $regexReplace を使ってください。null または欠落した入力は null を返します。

カテゴリ文字列
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $replaceOne: { input: <string-expression>, find: <find>, replacement: <replacement> } }

⚙️ パラメータ

input必須。処理対象の文字列。
find必須。空でない検索文字列。
replacement必須。置換文字列。

戻り値:置換後の文字列。入力が null の場合は null。

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $replaceOne: 投稿本文のタイプミスを修正
 db.posts.aggregate([
  { $project: { fixed: { $replaceOne: { input: '$body', find: 'teh', replacement: 'the' } } } }
])

出力:

{ "_id": 1, "fixed": "the quick brown fox" }
{ "_id": 2, "fixed": "no typo here" }

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Qすべての一致を置換できますか?
Aできません — すべての出現には $replaceAll を使います。
Qfind を空文字列にできますか?
Aできません — エラーになります。
Q正規表現をサポートしますか?
Aしません — パターン置換には $regexReplace を使います。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%