[MONGODB] MongoDB의 배열에 배열 쿼리
MONGODBMongoDB의 배열에 배열 쿼리
말은,이 같은 문서가 ..
"ID" : "fruit1",
"Keys" : [["apple", "carrot", "banana"]]
어떻게 키를 쿼리 = "당근"않습니다. 다음 구문 작품 없음.
db.myColl.results.find({ "Keys" : "carrot" });
db.myColl.results.find({ "Keys" : [["carrot"]] });
하지만 작품에 이어,하지만 도움이되지 않습니다.
db.myColl.results.find({ "Keys" : [["apple", "carrot", "banana]]});
이 쿼리에 대한 모든 포인터가 도움이 될 것입니다. 감사.
해결법
-
==============================
1.재미있는 질문은,이 트릭을 할 것입니다
재미있는 질문은,이 트릭을 할 것입니다
db.multiArr.find({'Keys':{$elemMatch:{$elemMatch:{$in:['carrot']}}}})
$ elemMatch 배열의 요소는 지정된 경기의 표현과 일치 여부를 확인하는 데 사용됩니다. 그래서 $ elemMatch 중첩 배열로 깊이 갈 것입니다 중첩
테스트 데이터
db.multiArr.insert({"ID" : "fruit1","Keys" : [["apple", "carrot", "banana"]]}) db.multiArr.insert({"ID" : "fruit2","Keys" : [["apple", "orange", "banana"]]}) db.multiArr.find({'Keys':{$elemMatch:{$elemMatch:{$in:['carrot']}}}}) { "_id" : ObjectId("506555212aeb79b5f7374cbf"), "ID" : "fruit1", "Keys" : [ [ "apple", "carrot", "banana" ] ] } db.multiArr.find({'Keys':{$elemMatch:{$elemMatch:{$in:['banana']}}}}) { "_id" : ObjectId("506555212aeb79b5f7374cbf"), "ID" : "fruit1", "Keys" : [ [ "apple", "carrot", "banana" ] ] } { "_id" : ObjectId("5065587e2aeb79b5f7374cc0"), "ID" : "fruit2", "Keys" : [ [ "apple", "orange", "banana" ] ] }
-
==============================
2.먼저 위치 데이터의 배열을 찾으려면, 중첩 된 배열에서 데이터를 얻을 참조 인덱스 0을 사용합니다.
먼저 위치 데이터의 배열을 찾으려면, 중첩 된 배열에서 데이터를 얻을 참조 인덱스 0을 사용합니다.
db.getCollection('routes').find({"routeId" : 12,'routes._id':ObjectId("598da27a713f3e6acd72287f"),'routes.0.stops.0.orders.0._id':ObjectId("598da27a713f3e6acd722887")})
from https://stackoverflow.com/questions/12629692/querying-an-array-of-arrays-in-mongodb by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 방법 찾기 방법에서 몽구스 결과를 반환? (0) | 2019.12.05 |
---|---|
[MONGODB] 몽구스 / MongoDB를에 Multifield 인덱스 만들기 (0) | 2019.12.05 |
[MONGODB] 방법) (MongoDB의 네이티브 findOne의 필드 이름으로 변수를 사용하는 방법? (0) | 2019.12.05 |
[MONGODB] MongoDB의 레코드 톤 이상 느린 매김 (0) | 2019.12.05 |
[MONGODB] MongoDB를 거부 연결 (111) errno를 (0) | 2019.12.05 |