Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB 그룹 집계 후 _id 필드의 이름을 바꿀 수 있습니까?

<시간/>

예, 집계를 사용하여 이름을 변경할 수 있습니다. 먼저 문서로 컬렉션을 생성하겠습니다.

> db.renameIdDemo.insertOne({"StudentName":"Chris"});{ "승인됨":true, "insertedId":ObjectId("5c9a1760353decbc2fc927c5")}> db.renameIdDemo.insertName({"StudentName" :"로버트"});{ "확인됨" :true, "insertedId" :ObjectId("5c9a1765353decbc2fc927c6")}> db.renameIdDemo.insertOne({"StudentName":"David"});{ "확인됨" :true, "insertedId" :ObjectId("5c9a176b353decbc2fc927c7")}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.

> db.renameIdDemo.find();

그러면 다음과 같은 출력이 생성됩니다.

{ "_id":ObjectId("5c9a1760353decbc2fc927c5"), "StudentName":"Chris" }{ "_id":ObjectId("5c9a1765353decbc2fc927c6"), "StudentName":"(Robert":Object }{ "Id" "5c9a176b353decbc2fc927c7"), "학생 이름":"데이비드" }

다음은 _id 필드의 이름을 바꾸는 쿼리입니다.

> db.renameIdDemo.aggregate({ $project:{... _id:0,... mainId:"$_id",... count:1,... sum:1... }. .. }... );

그러면 다음과 같은 출력이 생성됩니다. _id를 mainId로 이름을 변경했습니다.

{ "mainId":ObjectId("5c9a1760353decbc2fc927c5") }{ "mainId":ObjectId("5c9a1765353decbc2fc927c6")"pre>{ "mainId":ObjectId("5c9a176b353decc9a176b353