2014-04-24 2 views
10

컬렉션의 모든 문서에 대해 특정 필드의 모든 값을 포함하는 배열을 얻으려면 어떻게해야합니까?mongodb의 특정 필드의 모든 값을 나열하십시오.

db.collection :

{ "_id" : ObjectId("51a7dc7b2cacf40b79990be6"), "x" : 1 } 
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be7"), "x" : 2 } 
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be8"), "x" : 3 } 
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be9"), "x" : 4 } 
{ "_id" : ObjectId("51a7dc7b2cacf40b79990bea"), "x" : 5 } 

"db.collection.ListAllValuesForfield (X)" 결과 :이 필드는 무엇 경우 [1,2,3,4,5]

또한

, 배열?

{ "_id" : ObjectId("51a7dc7b2cacf40b79990be6"), "y" : [1,2] } 
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be7"), "y" : [3,4] } 
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be8"), "y" : [5,6] } 
{ "_id" : ObjectId("51a7dc7b2cacf40b79990be9"), "y" : [1,2] } 
{ "_id" : ObjectId("51a7dc7b2cacf40b79990bea"), "y" : [3,4] } 

"db.collection.ListAllValuesInArrayField (Y)" 결과 : I 만들 수 [1,2,3,4,5,6,1,2,3,4]

또한

, 이 배열은 독특합니까? [1,2,3,4,5,6]

+1

([인덱스 걸쳐 배열 필드의 고유 집합을 얻기]의 중복 가능성 http://stackoverflow.com/questions/12183444/getting-a-distinct-aggregation-of- 배열 필드 전반에 걸쳐) –

+0

완벽한 감사합니다! 이걸 내려야합니까? – chimpsarehungry

답변

21

db.collection.distinct('x')

당신에게 배열을 제공합니다 ... 단지 그것의 x 값을 포함하는 문서의 배열을 반환 해당 필드의 고유 한 값

2

db.collection.find(
    { }, 
    { x: 1, y: 0, _id:0 } 
) 
+0

이 답변을 주셔서 감사합니다. – metamaker

관련 문제