MongoDB에서 여러 ID를 삭제하려면 $in 연산자를 사용할 수 있습니다. 다음은 구문입니다.
db.yourCollectionName.remove( { _id : { $in: [yourObjectId1, yourObjectId2, yourObjectId3)] } } ); 문서로 컬렉션을 만들자
> db.deleteMultipleIdsDemo.insertOne({"ClientName":"Chris","ClientAge":26});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9cd7d6a629b87623db1b19")
}
> db.deleteMultipleIdsDemo.insertOne({"ClientName":"Robert","ClientAge":28});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9cd7dea629b87623db1b1a")
}
> db.deleteMultipleIdsDemo.insertOne({"ClientName":"Sam","ClientAge":25});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9cd7e9a629b87623db1b1b")
}
> db.deleteMultipleIdsDemo.insertOne({"ClientName":"John","ClientAge":34});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9cd7f7a629b87623db1b1c")
}
> db.deleteMultipleIdsDemo.insertOne({"ClientName":"Carol","ClientAge":36});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9cd803a629b87623db1b1d")
} 다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.
> db.deleteMultipleIdsDemo.find().pretty();
그러면 다음과 같은 출력이 생성됩니다.
{
"_id" : ObjectId("5c9cd7d6a629b87623db1b19"),
"ClientName" : "Chris",
"ClientAge" : 26
}
{
"_id" : ObjectId("5c9cd7dea629b87623db1b1a"),
"ClientName" : "Robert",
"ClientAge" : 28
}
{
"_id" : ObjectId("5c9cd7e9a629b87623db1b1b"),
"ClientName" : "Sam",
"ClientAge" : 25
}
{
"_id" : ObjectId("5c9cd7f7a629b87623db1b1c"),
"ClientName" : "John",
"ClientAge" : 34
}
{
"_id" : ObjectId("5c9cd803a629b87623db1b1d"),
"ClientName" : "Carol",
"ClientAge" : 36
} 다음은 MongoDB에서 여러 ID를 삭제하는 쿼리입니다.
> db.deleteMultipleIdsDemo.remove( { _id : { $in: [ObjectId("5c9cd7dea629b87623db1b1a"),
... ObjectId("5c9cd803a629b87623db1b1d"),
... ObjectId("5c9cd7d6a629b87623db1b19")
... ] } } );
WriteResult({ "nRemoved" : 3 }) 여러 아이디가 삭제되었는지 확인해보자
> db.deleteMultipleIdsDemo.find().pretty();
다음은 3개의 ID를 성공적으로 삭제했으며 이제 2개만 남았음을 표시하는 출력입니다.
{
"_id" : ObjectId("5c9cd7e9a629b87623db1b1b"),
"ClientName" : "Sam",
"ClientAge" : 25
}
{
"_id" : ObjectId("5c9cd7f7a629b87623db1b1c"),
"ClientName" : "John",
"ClientAge" : 34
}