sql >> データベース >  >> NoSQL >> MongoDB

$toLowerを使用してMongoDBコレクションを更新します

    MongoDBには、$toLowerの概念はありません。 コマンドとして。解決策は、大きなforを実行することです。 データをループして、更新を個別に発行します。

    これは、任意のドライバーまたはシェルから実行できます:

    db.myCollection.find().forEach(
      function(e) {
        e.UserName = e.UserName.toLowerCase();
        db.myCollection.save(e);
      }
    )
    

    保存をアトミックアップデートに置き換えることもできます:

    db.myCollection.update({_id: e._id}, {$set: {UserName: e.UserName.toLowerCase() } })
    

    繰り返しになりますが、どのドライバーからでもこれを行うことができます。コードは非常に似ています。

    編集:レモンは良い点をもたらします。 $toLower コマンドは集約フレームワークの一部として存在しますが、これは更新とは関係ありません。更新のドキュメントはこちらです。



    1. 同じスレッドで複数のチャンネルを購読するJedis

    2. StackExchange.Redis:複数のハッシュのバッチアクセス

    3. laravelプライベートチャネルとlaravel-echo-serverでの認証の問題

    4. MongoDB-管理者ユーザーが許可されていません