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

MongoDB에서 _id를 기반으로 문서를 제거하는 방법은 무엇입니까?

<시간/>

MongoDB에서 _id를 기반으로 문서를 제거하려면 다음 구문을 구현하십시오.

db.yourCollectionName.remove({“_id”:ObjectId(“yourId”});

먼저 다음 쿼리를 구현하여 문서가 포함된 컬렉션을 생성해 보겠습니다.

>db.removeDocumentOnBasisOfId.insertOne({"UserName":"Larry","UserAge":23,"UserCountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986f9f330fd0aa0d2fe4a3")
}
>db.removeDocumentOnBasisOfId.insertOne({"UserName":"Sam","UserAge":21,"UserCountryName":"UK"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986fb4330fd0aa0d2fe4a4")
}
>db.removeDocumentOnBasisOfId.insertOne({"UserName":"Chris","UserAge":24,"UserCountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986fc0330fd0aa0d2fe4a5")
}
>db.removeDocumentOnBasisOfId.insertOne({"UserName":"Robert","UserAge":26,"UserCountryName":"UK"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986fcf330fd0aa0d2fe4a6")
}
>db.removeDocumentOnBasisOfId.insertOne({"UserName":"David","UserAge":28,"UserCountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986fed330fd0aa0d2fe4a7")
}

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

> db.removeDocumentOnBasisOfId.find().pretty();

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

{
   "_id" : ObjectId("5c986f9f330fd0aa0d2fe4a3"),
   "UserName" : "Larry",
   "UserAge" : 23,
   "UserCountryName" : "US"
}
{
   "_id" : ObjectId("5c986fb4330fd0aa0d2fe4a4"),
   "UserName" : "Sam",
   "UserAge" : 21,  
   "UserCountryName" : "UK"
}
{
   "_id" : ObjectId("5c986fc0330fd0aa0d2fe4a5"),
   "UserName" : "Chris",
   "UserAge" : 24,
   "UserCountryName" : "US"
}
{
   "_id" : ObjectId("5c986fcf330fd0aa0d2fe4a6"),
   "UserName" : "Robert",
   "UserAge" : 26,
   "UserCountryName" : "UK"
}
{
   "_id" : ObjectId("5c986fed330fd0aa0d2fe4a7"),
   "UserName" : "David",
   "UserAge" : 28,
   "UserCountryName" : "AUS"
}

다음은 _id

를 기준으로 문서를 제거하는 쿼리입니다.
> db.removeDocumentOnBasisOfId.remove({"_id":ObjectId("5c986fc0330fd0aa0d2fe4a5")});
WriteResult({ "nRemoved" : 1 })

위의 _id를 기반으로 Chris의 레코드를 제거했습니다. 이제 컬렉션의 모든 문서를 표시하여 문서가 제거되었는지 확인하십시오.

> db.removeDocumentOnBasisOfId.find().pretty();

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

{
   "_id" : ObjectId("5c986f9f330fd0aa0d2fe4a3"),
   "UserName" : "Larry",
   "UserAge" : 23,
   "UserCountryName" : "US"
}
{
   "_id" : ObjectId("5c986fb4330fd0aa0d2fe4a4"),
   "UserName" : "Sam",
   "UserAge" : 21,
   "UserCountryName" : "UK"
}
{
   "_id" : ObjectId("5c986fcf330fd0aa0d2fe4a6"),
   "UserName" : "Robert",
   "UserAge" : 26,
   "UserCountryName" : "UK"
}
{
   "_id" : ObjectId("5c986fed330fd0aa0d2fe4a7"),
   "UserName" : "David",
   "UserAge" : 28,
   "UserCountryName" : "AUS"
}