2016-05-02 8 views
0

コレクションには非常に多くのドキュメントがあり、すべてのドキュメントでフィールド名の1つを変更したいと考えています。また、すべてのドキュメントで接頭辞付き定数を使用して値を変更したい。Mongo Java - すべてのドキュメントで一定のフィールド値を先取り

例、

{ "_id":のObjectId( "56e9e6e9083378ba4e5e8832")、 "名前": "マイク" }

をに変更する必要があり、

{ 
    "_id" : ObjectId("56e9e6e9083378ba4e5e8832"), 
    "firstName" : "First-Mike" 
} 

I次のJavaコードを使用してフィールドの名前を変更します。

final MongoDatabase mongoDb = mongo.getDatabase(database); 

      final MongoCollection<Document> collection = mongoDb.getCollection("<CollectionName>"); 

      Bson rename = Updates.rename("name", "firstName"); 

      collection.updateMany(new Document(), rename); 

ただし、コレクション内のすべてのドキュメントのプレフィックス付き定数を使用して値を変更する方法がわかりません。

私はコレクション内のすべてのドキュメントを繰り返し処理できますが、単一の更新のようにすべてのドキュメントを反復することなく何らかの方法でこれを行うことができます。

ありがとう

答えて

関連する問題