В монго существует коллекция. В коллекции 40 миллионов записей
db.getCollection('feedposts').aggregate([
{
"$match": {
"$or": [
{
"isOfficial": true
},
{
"creator": ObjectId("537f267c984539401ff448d2"),
type: { $nin: ['challenge_answer', 'challenge_win']}
}
],
}
},
{
$sort: {timeline: -1}
}
])
Этот запрос никогда не заканчивается
Но если вы добавите ограничение перед сортировкой, а ограничение будет больше, чем общее количество записей заранее, например, 1 000 000 000 000 000 - запрос будет обработан мгновенно
db.getCollection('feedposts').aggregate([
{
"$match": {
"$or": [
{
"isOfficial": true
},
{
"creator": ObjectId("537f267c984539401ff448d2"),
type: { $nin: ['challenge_answer', 'challenge_win']}
}
],
}
},
{
$limit: 10000000000000000
},
{
$sort: {timeline: -1}
}
])
Скажите, пожалуйста, почему это происходит? Какие проблемы могут возникнуть в будущем, если я оставлю это так?