MongoDB에 저장하고 쿼리하려고하는 거대한 이메일 덤프가 있습니다. 내가 효율적으로 모든 이메일 "같은 것들을 찾아 볼 수 있어야합니다MongoDB에서 객체의 배열 인덱싱
{
"text" : "This is the text of my email",
"subject" : "Great opportunity",
"from" : [
{
"address" : "[email protected]",
"name" : "Chris Wilson"
}
],
"to" : [
{
"address" : "[email protected]",
"name" : "Person A"
},
{
"address" : "[email protected]",
"name" : "Person B"
},
{
"address" : "[email protected]",
"name" : "Person C"
}
],
"date" : ISODate("2015-01-05T21:38:55.000Z")
}
: 좋은 자바 스크립트 객체로 원시 이메일을 구문 분석 때문에 같은 Node module에서 출력으로 저장되어있는 각각의 1.6M 이메일이있다 [email protected]에게 전송 "또는"Chris Wilson '이 보낸 모든 이메일 (어떤 이메일 주소가 해당 이름에 첨부되었는지에 관계없이).
db.emails.find({ "to.name": "Person A" })
이 덮여 쿼리입니다 : 나는이 작업을 수행 할 때 쿼리가 작동
몽고은 "을"과 "에서"쿼리 나를 위해 인덱스에 완벽하게 기꺼이, 그러나 나는 확실하지 않다 키 - 값 객체의 배열 인 필드에서 특정 속성의 특정 값을 찾으려면? 이 쿼리는 나를 위해 매우 느리게 실행되고 있지만 다시 큰 코퍼스입니다. 네, 완벽하게 괜찮
{
"cursor" : "BasicCursor",
"isMultiKey" : false,
"n" : 24,
"nscannedObjects" : 1646837,
"nscanned" : 1646837,
"nscannedObjectsAllPlans" : 1646837,
"nscannedAllPlans" : 1646837,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 17088,
"nChunkSkips" : 0,
"millis" : 84685,
"server" : "DCA-TM-GUEST-iMac.local:27017",
"filterSet" : false
}
"to.name"에 대한 인덱싱은 내가 필요한 것입니다. 감사합니다! –