MongoDB에서 고유한 값 반환
-
MongoDB의
distinct()
함수 -
distinct()
함수를 사용하여 고유한 값 반환 - MongoDB의 필드에 대해 고유하거나 고유한 값 반환
- MongoDB의 포함된 필드에 대한 고유 값 반환
- 포함된 배열 필드에 대한 고유 값 반환
이 기사에서는 MongoDB distinct()
메서드를 사용하여 고유한 값을 반환하는 방법을 다룹니다. 또한 배열 및 필드에서 고유한 값을 반환하는 방법도 설명합니다.
MongoDB에서 때때로 고유한 값을 렌더링하거나 반환하고 싶을 수 있으며 distinct()
메서드를 활용하여 이를 수행할 수 있습니다.
distinct()
메소드는 단일 콜렉션 또는 보기의 모든 콜렉션 또는 보기에서 주어진 필드에 대해 고유한 값의 배열을 생성하고 mongo 쉘에 지정된 필드에 대해 고유한 값을 리턴하는 데 도움을 줍니다.
MongoDB의 distinct()
함수
통사론:
db.collection.distinct(field, query, options)
MongoDB에서 함수에는 필드 및 쿼리 연산자라는 두 개의 필수 매개변수가 있어야 합니다. 필드 매개변수는 고유 값을 얻기 위해 distinct()
메소드를 원하는 필드입니다.
조회 매개변수는 고유 값을 가져와야 하는 문서를 지정합니다. 함수에 부수적 옵션 매개변수를 보낼 수 있습니다.
지정된 필드의 값이 배열인 경우 distinct()
는 각 배열 요소를 별도의 값으로 취급합니다. 예를 들어 필드에 [10, [10], 10]
값이 있는 경우 distinct()
는 10
, [10]
및 10
을 별도의 값으로 취급합니다.
distinct()
함수를 사용하여 고유한 값 반환
distinct()
함수를 사용하여 MongoDB에서 고유한 값을 반환해 보겠습니다. 아래 컬렉션은 첫 번째 예제에 사용됩니다.
db.movies.find().pretty()
{
"_id" : ObjectId("60322d3501cd70079c48cb65"),
"title" : "Enchanted",
"year" : 2006,
"score" : 10,
"rating" : "PG",
"__v" : 0
}
{
"_id" : ObjectId("60322d3501cd70079c48cb67"),
"title" : "Final Destination II",
"year" : 2015,
"score" : 10,
"rating" : "PG-13",
"__v" : 0
}
{
"_id" : ObjectId("6190189ef5c8903629012fe1"),
"title" : "Fifty Shades of Grey",
"year" : 2015,
"score" : 10,
"rating" : "NC-17",
"__v" : 0
}
MongoDB의 필드에 대해 고유하거나 고유한 값 반환
위의 영화 컬렉션은 이 예에서 지정된 필드에 대해 고유한 값을 반환합니다. 등급 필드에서 고유한 값을 원한다고 가정해 보겠습니다.
질문:
db.movies.distinct( "rating" )
[ null, "", "NC-17", "PG", "PG-13"]
위의 쿼리를 사용한 후 distinct()
함수는 컬렉션에 대해 MongoDB에서 고유한 값을 반환하는 데 성공적으로 도움이 되었습니다.
MongoDB의 포함된 필드에 대한 고유 값 반환
이 예에서는 포함된 필드에 대해 고유한 값을 반환하는 것이 표시됩니다. 그러나 이전 예제에서 사용된 컬렉션에는 포함된 필드가 포함되지 않았습니다.
따라서 아래와 같이 새 컬렉션이 사용됩니다.
db.drones.find().pretty()
{
"_id" : ObjectId("61673f46b34f185eb7b2bf0c"),
"utility" : [
"Natural Resource Exploration",
"Remote sensing",
"Real estate and construction",
"Recreation",
"Delivery"
],
"onSale" : false,
"name" : "Nimbari Gryphon Medeta 65",
"price" : 77500,
"weight" : "77 kilograms",
"additionalDetails" : {
"material" : "carbon fiber",
"moreUses" : [
"Precision Agriculture",
"Land Inspection",
"Water Inspection",
"Cinematography"
]
}
}
{
"_id" : ObjectId("61673f46b34f185eb7b2bf0d"),
"utility" : [
"Natural Resource Exploration",
"Remote sensing",
"Real estate and construction",
"Recreation",
"Delivery"
],
"onSale" : false,
"name" : "X-Strimmer Eye",
"price" : 23500,
"weight" : "24 kilograms",
"additionalDetails" : {
"material" : "glass fiber",
"moreUses" : [
"Precision Agriculture",
"Cinematography"
]
}
}
{
"_id" : ObjectId("61673f46b34f185eb7b2bf0e"),
"utility" : [
"Natural Resource Exploration",
"Remote sensing",
"Real estate and construction",
"Recreation",
"Delivery"
],
"onSale" : false,
"name" : "Khai Balemosh Shefqa TRX",
"price" : 120500,
"weight" : "80 kilograms",
"additionalDetails" : {
"material" : "aluminum",
"moreUses" : [
"Precision Agriculture",
"Land Inspection"
]
}
}
다음 쿼리는 위의 데이터베이스 컬렉션에서 포함된 모든 필드의 고유한 값을 반환할 수 있습니다.
질문:
db.drones.distinct( "additionalDetails.material" )
[ "aluminum", "carbon fiber", "glass fiber"]
포함된 배열 필드에 대한 고유 값 반환
distinct()
함수를 사용하면 위의 동일한 컬렉션을 사용하여 distinct()
함수를 사용하여 포함된 배열 필드에서 고유한 값을 반환할 수 있습니다.
질문:
db.drones.distinct( "additionalDetails.moreUses" )
["Cinematography","Land Inspection"]
이 MongoDB 자습서 기사에서는 컬렉션이 있는 고유한 함수에 대한 자세한 보기가 제공됩니다. 배열 및 필드 또는 포함된 필드에서 고유한 값을 반환하는 것도 코드 세그먼트로 설명됩니다.