Просмотр последних N документов с помощью MongoDB Compass
Я хочу просмотреть в MongoDB Compass последние N документов в очень большой коллекции; слишком много, чтобы пролистать.
Я мог бы.skip(всего - N), если бы знал синтаксис для этого в Compass.
Кроме того, у меня есть поле даты, и я мог бы использовать $ gte с датой, если бы знал, как выразить дату способом, приемлемым для Compass.
Предложение / пример, как это сделать, пожалуйста?
3 ответа
MongoDB Compass 1.6.1(стабильный)
Для сравнения дат вам необходимо использовать оператор $date со строкой, которая представляет дату в формате даты ISO-8601.
{"date": {"$gte": {"$date": "2017-03-13T09:51:26.317Z"}}}
В моем случае значения date
поля в компасе и оболочке монго разные. Итак, сначала я запрашиваю документы в оболочке, а затем копирую "2017-03-13T09:51:26.317Z"
от результата до строки фильтра Compass. В оболочке монго это выглядит так:
{
...
"date" : ISODate("2017-03-13T09:51:26.317Z"),
...
}
MongoDB Compass 1.7.0-beta.0 (бета)
Эта версия имеет расширенную панель запросов, которая позволяет вводить не только фильтр (как и раньше), но также проектировать, сортировать, пропускать и ограничивать
Описание пропуска здесь https://docs.mongodb.com/compass/current/query/skip/
- На панели запросов щелкните Параметры.
- Введите целое число, представляющее количество документов, которые нужно пропустить, в поле "Пропустить".
- Щелкните «Найти», чтобы выполнить запрос и просмотреть обновленные результаты.
(@ Александр я узнал из твоего эффективного ответа; спасибо.)
Мне также было показано, что вкладка "Схема компаса" позволяет перетащить диапазон дат в поле _id, чтобы применить запрос фильтра для этого диапазона. Этот диапазон может быть последовательно сужен по желанию.