MongoDB의 지정된 배열에서 검색
Shihab Sikder
2022년8월18일
$in
연산자는 제공한 배열 내에서 검색합니다. 예를 들어 배열을 제공하고 MongoDB 컬렉션에서 하나 이상의 일치하는 요소를 검색하려는 경우 $in
을 사용할 수 있습니다.
$in
연산자를 사용하여 MongoDB의 지정된 배열에서 검색
$in
연산자는 필드 값이 제공된 배열의 값과 동일한 문서를 찾습니다. $in
표현식을 지정하려면 다음 프로토타입을 사용하십시오.
{ field: { $in: [<value1>, <value2>, ... <valueN> ] } }
예를 들어 다음 컬렉션이 있다고 가정해 보겠습니다.
{
_id:1,
name: "John",
age: 30
},
{
_id:2,
name: "Alex",
age: 23
},
{
_id:3,
name: "Murphy",
age: 25
},
{
_id:4,
name: "Alice",
age: 28
},
이제 _id = 2,3,4
에 대한 문서를 보고 싶습니다. 따라서 명령은 다음과 같을 것입니다.
db.collection.find( {_id: { $in: [2, 3, 4] } } );
또는 배열을 매개변수로 보낼 수도 있습니다. 앱이나 웹사이트를 개발할 때 유용할 것입니다.
let list=[2, 3, 4]
db.collection.find( { _id:{ $in: list} } )
JavaScript promise
를 사용하는 동안 이 접근 방식이 유용합니다.
오류를 방지하려면 ObjectId
를 알고 있어야 합니다. _id
는 기본적으로 MongoDB에서 제공하고 _id
유형은 ObjectId
입니다.
따라서 $in
의 매개변수에 배열을 전달할 때 다음과 같이 각 정수 id
를 ObjectId
로 변환하는 것이 좋습니다.
{ "_id" : { $in : [ObjectId('2'),ObjectId('3'),ObjectId('4')] } }
이 접근 방식은 매개변수를 통해 _id
의 정확한 데이터 유형을 제공하기 때문에 더 정확합니다. $in
은 updateMany
, updateOne
, deleteOne
, deleteMany
작업에서도 사용할 수 있습니다.
$in
연산자에 대해 자세히 알아보려면 공식 페이지 여기를 방문하세요.
작가: Shihab Sikder