문서를 찾는 동안 MongoDB가 개체 ID를 반환하는 것을 방지하려면 _id를 0으로 설정해야 합니다. 먼저 문서로 컬렉션을 생성하겠습니다.
> db.preventObjectIdDemo.insertOne( ... { ... ... "StudentName" : "Chris", ... "StudentDetails" : [ ... { ... "StudentTotalScore" : 540, ... "StudentCountryName" : "US" ... }, ... { ... "StudentTotalScore" : 489, ... "StudentCountryName" : "UK" ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5ca20a9c66324ffac2a7dc63") }
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.
> db.preventObjectIdDemo.find().pretty();
그러면 다음과 같은 출력이 생성됩니다.
{ "_id" : ObjectId("5ca20a9c66324ffac2a7dc63"), "StudentName" : "Chris", "StudentDetails" : [ { "StudentTotalScore" : 540, "StudentCountryName" : "US" }, { "StudentTotalScore" : 489, "StudentCountryName" : "UK" } ] }
다음은 문서를 찾을 때 MongoDB가 개체 ID를 반환하지 못하도록 하는 쿼리입니다.
> db.preventObjectIdDemo.find({ _id: ObjectId("5ca20a9c66324ffac2a7dc63")}, {StudentDetails: { $slice: [0, 1] } ,'_id': 0} ).pretty();
다음은 ObjectID가 표시되지 않는 출력입니다.
{ "StudentName" : "Chris", "StudentDetails" : [ { "StudentTotalScore" : 540, "StudentCountryName" : "US" } ] }