Просмотр последних 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/

  1. На панели запросов щелкните Параметры.
  2. Введите целое число, представляющее количество документов, которые нужно пропустить, в поле "Пропустить".
  3. Щелкните «Найти», чтобы выполнить запрос и просмотреть обновленные результаты.

(@ Александр я узнал из твоего эффективного ответа; спасибо.)

Мне также было показано, что вкладка "Схема компаса" позволяет перетащить диапазон дат в поле _id, чтобы применить запрос фильтра для этого диапазона. Этот диапазон может быть последовательно сужен по желанию.

Другие вопросы по тегам