У меня есть коллекция в MongoDB, как показано ниже. - ›Ссылка на Mongo Playground
Я отсортировал коллекцию по Обзору и ID.
$sort{{ overview: 1,_id:1 }}
что приводит к такой коллекции.
Когда я фильтрую коллекцию, чтобы показать только документы после темы 13., она работает должным образом.
$match{{
_id:{$gt:ObjectId('605db89d208db95eb4878556')}
}}
однако, когда я пытаюсь открыть документы, предшествующие теме 13, то есть субъекту 6, со следующим запросом, это не сработает так, как я ожидал.
$match{{
_id:{$lt:ObjectId('605db89d208db95eb4878556')}
}}
Вместо того, чтобы получить в результате только тему 6, я получаю следующее.
Я подозреваю, что это происходит потому, что mongodb всегда фильтрует документ перед сортировкой, независимо от порядка в агрегатном конвейере.
Пожалуйста, предложите мне способ получить документы до определенного _id в mongodb.
У меня в коллекции 600 документов, это примерный набор данных. Мой полный совокупный запрос ниже.
[
{
'$sort': {
'overview': 1,
'_id': 1
}
}, {
'$match': {
'_id': {
'$lt': new ObjectId('605db89d208db95eb4878556')
}
}
}
]