Hangi sorgu daha hızlı olacak? Len ObjectID listesi fazla 2.
db.house.find(
{ persons:
{ $elemMatch:
{ person_id:
{ $in:
[ ObjectId("570028671d41c8eaeb6c9ce8"),
ObjectId("570028681d41c8eaeb6c9e38")
]
}
}
}
})
db.house.find(
{ $or:
[{ persons:
{$elemMatch:
{person_id:ObjectId("570028671d41c8eaeb6c9ce8")}}
},
{persons:{$elemMatch:
{person_id:ObjectId("570028681d41c8eaeb6c9e38")}}
}]
})
Ben dizinlere sahip olabilir: kişiler, persons.person_id. Önemli olan Django'dan (Mongoengine) sorgu yapıyordum. Şimdilik db'de yaklaşık 100 bin konut ve 2 bin kişi var. Saray belgelerine böyledir:
the documentation belirtildiği gibi{
"_id" : ObjectId("570031aa1d41c8ed54393b19"),
"persons" : [
{
"person_id" : ObjectId("570028671d41c8eaeb6c9dff"),
"t" : "150 t"
},
{
"person_id" : ObjectId("5700312d1d41c8ed54393b05"),
"t" : "1 g"
},
{
"person_id" : ObjectId("5700312d1d41c8ed54393b06"),
"t" : "70 y"
}
]
}
örnek bir belge gösterebilir misiniz? Ayrıca, her zaman 'var start = new Date(). GetTime(); doYouStuff; print (new Date(). getTime() - start) 'farkı veya kullanımı ölçmek için ** [' .explain() '] (https://docs.mongodb.org/manual/reference/method/cursor.explain /) ** –
@MarkusWMahlberg, – vadimb