[MONGODB] 별개의 기록 값을 가져옵니다
MONGODB별개의 기록 값을 가져옵니다
일부 필드에없는 동일한 값을 가진 개체를 쿼리 할 수있는 방법이 있나요? 예를 들어 나는 기록을 가지고 :
{ id : 1, name : "my_name", salary : 1200 }
{ id : 2, name : "my_name", salary : 800 }
{ id : 3, name : "john", salary : 500 }
질의 : NOT_THE_SAME (이름)을 모두 찾을
나는 같은 필드 이름에 값 또는 2와 3에 기록을하지 않도록 지정했기 때문에 난 그냥 ID 1과 3 레코드를 원하는,이 상황에서 중요하지 않습니다.
해결법
-
==============================
1.당신은 고유 값의 배열을 다시 얻기 위해 db.collection.distinct 사용할 수 있습니다 :
당신은 고유 값의 배열을 다시 얻기 위해 db.collection.distinct 사용할 수 있습니다 :
> db.test.distinct("name") [ "my_name", "john" ]
-
==============================
2.또한 필터링 컬렉션 별개의 문장을 사용할 수 있습니다. 예를 들어, 다음 쿼리 (800)를 통해 급여에서 이름의 고유 한 값을 얻을 수 있습니다 :
또한 필터링 컬렉션 별개의 문장을 사용할 수 있습니다. 예를 들어, 다음 쿼리 (800)를 통해 급여에서 이름의 고유 한 값을 얻을 수 있습니다 :
db.test.distinct("name", { "salary": { $gt: 800 } })
-
==============================
3.
db.test.aggregate([{$group: {_id: "$name", salary: {$max: "$salary"}}}])
급여 모든 이름을 나열한다.
최대 반환을 요소마다 가장 높은 급여를 $. 또한 등 처음 $를 선택할 수, https://docs.mongodb.com/manual/reference/operator/aggregation/group/#accumulator-operator를 참조하십시오.
-
==============================
4.
db.test.distinct("name")
db.test.aggregate([{$group: {_id: "$name", salary: {$max: "$salary"}}}])
-
==============================
5.
db.runCommand ( { distinct: "CollectionName", key: "key", query: { "createdDate": { $gte:new ISODate("2017-04-04T23:59:59Z"), $lte:new ISODate("2017-04-25T23:59:59Z")}} } )
이 쿼리 컬렉션 찾기 데이터를하는 데 도움이, 날짜 사이의 조건을 만족하는 모든 문서에서 키의 값을 가져옵니다
from https://stackoverflow.com/questions/20655506/get-distinct-records-values by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를 : 여러 기준에 배열에서 찾기 값 (0) | 2019.12.04 |
---|---|
[MONGODB] MongoDB를이 - 중첩 된 배열에서 객체를 업데이트 (0) | 2019.12.04 |
[MONGODB] 몽구스 고유의 객체 중첩 배열의 값 (0) | 2019.12.04 |
[MONGODB] MongoDB의에서 날짜를 저장하는 가장 좋은 방법은 무엇입니까? (0) | 2019.12.04 |
[MONGODB] MongoDB의 필드 순서 및 문서 위치 변경 갱신 후 (0) | 2019.12.04 |