[MONGODB] 컬렉션에서 최대 값을 얻는 방법을 MongoDB를
MONGODB컬렉션에서 최대 값을 얻는 방법을 MongoDB를
나는 MongoDB의 수집 등이있다 :
db.kids.find()
//results
[
{name:'tom', age:10},
{name:'alice', age:12},
....
]
나는이 컬렉션에서 MAX '나이'를 얻기 위해 질의를 필요로 SQL처럼 : 아이 WHERE 1 FROM SELECT MAX (나이)
해결법
-
==============================
1.의견의 하나로서 :
의견의 하나로서 :
db.collection.find().sort({age:-1}).limit(1) // for MAX db.collection.find().sort({age:+1}).limit(1) // for MIN
완전히 사용할 수있어하지만 난 성능에 대한 확실하지 않다
-
==============================
2.제안 된 대답의 성능은 괜찮습니다. MongoDB를 문서에 따르면 :
제안 된 대답의 성능은 괜찮습니다. MongoDB를 문서에 따르면 :
-
==============================
3.총 프레임 워크를 사용하는 방법에 대해 무엇을 :
총 프레임 워크를 사용하는 방법에 대해 무엇을 :
db.collection.aggregate({ $group : { _id: null, max: { $max : "$age" }}});
-
==============================
4.사람들은 당신은 최적화 프로그램이 계획을 실행하여 무엇을하고 있는지 볼 수 있습니다. 계획에 보는 일반적인 형식은 MongoDB의 문서에서입니다. 즉 Cursor.plan (). 당신이 정말로 파고하려면 더 깊은 당신은 더 많은 세부 사항에 대한 cursor.plan (true)를 할 수 있습니다.
사람들은 당신은 최적화 프로그램이 계획을 실행하여 무엇을하고 있는지 볼 수 있습니다. 계획에 보는 일반적인 형식은 MongoDB의 문서에서입니다. 즉 Cursor.plan (). 당신이 정말로 파고하려면 더 깊은 당신은 더 많은 세부 사항에 대한 cursor.plan (true)를 할 수 있습니다.
.. 제한 (1) 하나 개의 인덱스 항목을 읽 - 인덱스가 기본 오름차순이고 당신이 원하는 경우에도 - : 당신은 인덱스, 당신의 db.col.find을 ()이있는 경우 종류 ({1 "필드는"}) 그런 말로 미루어 보아, 최대 항목과 컬렉션에서 하나 개의 값.
즉 @yogesh의 제안은 올바른 것입니다.
감사합니다 - 수밋
-
==============================
5.당신은 그룹과 최대를 사용할 수 있습니다 :
당신은 그룹과 최대를 사용할 수 있습니다 :
db.getCollection ( '아이들'). 골재 ([ { 그룹을 $ { _id : 널 (null), maxQuantity : {$ 최대 : "$ 시대"} } } ])
-
==============================
6.간단한 설명, 아래 같은 몽고 질의 응답 뭔가가있는 경우 - 당신은 "날짜"> Array- 만 가장 높은 값을 원하는
간단한 설명, 아래 같은 몽고 질의 응답 뭔가가있는 경우 - 당신은 "날짜"> Array- 만 가장 높은 값을 원하는
{ "_id": "57ee5a708e117c754915a2a2", "TotalWishs": 3, "Events": [ "57f805c866bf62f12edb8024" ], "wish": [ "Cosmic Eldorado Mountain Bikes, 26-inch (Grey/White)", "Asics Men's Gel-Nimbus 18 Black, Snow and Fiery Red Running Shoes - 10 UK/India (45 EU) (11 US)", "Suunto Digital Black Dial Unisex Watch - SS018734000" ], "Date": [ "2017-02-13T00:00:00.000Z", "2017-03-05T00:00:00.000Z" ], "UserDetails": [ { "createdAt": "2016-09-30T12:28:32.773Z", "jeenesFriends": [ "57edf8a96ad8f6ff453a384a", "57ee516c8e117c754915a26b", "58a1644b6c91d2af783770b0", "57ef4631b97d81824cf54795" ], "userImage": "user_profile/Male.png", "email": "roopak@small-screen.com", "fullName": "Roopak Kapoor" } ], },
*** 그런 다음 추가를
below- 같은
{ $project : { _id: 1, TotalWishs : 1 , wish:1 , Events:1, Wish_CreatedDate:1, Latest_Wish_CreatedDate: { $max: "$Date"}, } }
그리고 마지막 질의 응답 아래에있을 것입니다
{ "_id": "57ee5a708e117c754915a2a2", "TotalWishs": 3, "Events": [ "57f805c866bf62f12edb8024" ], "wish": [ "Cosmic Eldorado Mountain Bikes, 26-inch (Grey/White)", "Asics Men's Gel-Nimbus 18 Black, Snow and Fiery Red Running Shoes - 10 UK/India (45 EU) (11 US)", "Suunto Digital Black Dial Unisex Watch - SS018734000" ], "Wish_CreatedDate": [ "2017-03-05T00:00:00.000Z", "2017-02-13T00:00:00.000Z" ], "UserDetails": [ { "createdAt": "2016-09-30T12:28:32.773Z", "jeenesFriends": [ "57edf8a96ad8f6ff453a384a", "57ee516c8e117c754915a26b", "58a1644b6c91d2af783770b0", "57ef4631b97d81824cf54795" ], "userImage": "user_profile/Male.png", "email": "roopak@small-screen.com", "fullName": "Roopak Kapoor" } ], "Latest_Wish_CreatedDate": "2017-03-05T00:00:00.000Z" },
-
==============================
7.최대 값을 위해, 우리는 SQL 쿼리를 작성할 수 있습니다
최대 값을 위해, 우리는 SQL 쿼리를 작성할 수 있습니다
select age from table_name order by age desc limit 1
우리가 너무 MongoDB를 쓸 수 같은 방법으로.
db.getCollection('collection_name').find().sort({"age" : -1}).limit(1); //max age db.getCollection('collection_name').find().sort({"age" : 1}).limit(1); //min age
-
==============================
8.
db.collection.findOne().sort({age:-1}) //get Max without need for limit(1)
from https://stackoverflow.com/questions/32076382/mongodb-how-to-get-max-value-from-collections by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] (MongoDB의 자바) 배열에 $ 추진 (0) | 2019.12.09 |
---|---|
[MONGODB] MongoDB를 가진 배열에서 특정 항목을 삭제 (0) | 2019.12.09 |
[MONGODB] 필드 / 키마다 고유 값 MongoDB의 카운트 수가 (0) | 2019.12.09 |
[MONGODB] 찾을 수없는 클래스 'MongoClient' (0) | 2019.12.09 |
[MONGODB] MongoDB를 3.2 인증에 실패 (0) | 2019.12.09 |