모든 문서의 필드 이름을 바꾸는 구문은 다음과 같습니다. 여기에서는 $renameL
을 사용했습니다.db.yourCollectionName.update({}, {$rename:{"yourOldFieldName":"yourNewFieldName"}},
false, true); 개념을 이해하기 위해 문서로 컬렉션을 만들어 보겠습니다. 문서로 컬렉션을 생성하는 쿼리는 다음과 같습니다 -
> db.renameFieldDemo.insertOne({"StudentName":"John"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7ee6c7559dd2396bcfbfbb")
}
> db.renameFieldDemo.insertOne({"StudentName":"Carol"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7ee6cb559dd2396bcfbfbc")
}
> db.renameFieldDemo.insertOne({"StudentName":"Bob"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7ee6cf559dd2396bcfbfbd")
}
> db.renameFieldDemo.insertOne({"StudentName":"David"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7ee6d3559dd2396bcfbfbe")
}
> db.renameFieldDemo.insertOne({"StudentName":"Maxwell"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c7ee6d8559dd2396bcfbfbf")
} find() 메서드를 사용하여 컬렉션의 모든 문서를 표시합니다. 쿼리는 다음과 같습니다 -
> db.renameFieldDemo.find().pretty();
다음은 출력입니다 -
{ "_id" : ObjectId("5c7ee6c7559dd2396bcfbfbb"), "StudentName" : "John" }
{ "_id" : ObjectId("5c7ee6cb559dd2396bcfbfbc"), "StudentName" : "Carol" }
{ "_id" : ObjectId("5c7ee6cf559dd2396bcfbfbd"), "StudentName" : "Bob" }
{ "_id" : ObjectId("5c7ee6d3559dd2396bcfbfbe"), "StudentName" : "David" }
{ "_id" : ObjectId("5c7ee6d8559dd2396bcfbfbf"), "StudentName" : "Maxwell" } 다음은 모든 문서에 대해 "StudentName" 필드의 이름을 "StudentFirstName"으로 바꾸는 쿼리입니다. -
> db.renameFieldDemo.update({}, {$rename:{"StudentName":"StudentFirstName"}}, false,
true);
WriteResult({ "nMatched" : 5, "nUpserted" : 0, "nModified" : 5 }) 컬렉션의 모든 문서를 확인합시다. 쿼리는 다음과 같습니다.
> db.renameFieldDemo.find().pretty();
다음은 출력입니다 -
{ "_id" : ObjectId("5c7ee6c7559dd2396bcfbfbb"), "StudentFirstName" : "John" }
{
"_id" : ObjectId("5c7ee6cb559dd2396bcfbfbc"),
"StudentFirstName" : "Carol"
}
{ "_id" : ObjectId("5c7ee6cf559dd2396bcfbfbd"), "StudentFirstName" : "Bob" }
{
"_id" : ObjectId("5c7ee6d3559dd2396bcfbfbe"),
"StudentFirstName" : "David"
}
{
"_id" : ObjectId("5c7ee6d8559dd2396bcfbfbf"),
"StudentFirstName" : "Maxwell"
} 샘플 출력을 보면 "StudentName"이 "StudentFirstName"으로 이름이 변경되었습니다.