Как извлечь данные из базы данных MongoDB, используя определенный диапазон дат и агрегацию в Spring Boot? - PullRequest
1 голос
/ 28 марта 2019

Я работаю над проектом весенней загрузки и использую MongoDB в качестве базы данных.

Существует база данных studentDB, которая содержит документ студента и эти документы содержат следующие поля:

_id, имя студента, имя_участника, iso_dom, iso_dow, iso_month, iso_year, iso_week ".

студенческий документ

   _id             Object
   student_name    String
   attend_lecture  int
   iso_dom         int    date of the month ("1" January 2015)
   iso_dow         int    day of the week (Friday)
   iso_month       int    the month (1 stand for January)
   iso_year        int    year (2015)
   iso_week        int    week number (1)

Здесь я пытаюсь узнать, сколько студентов посещало лекции в период с 12 января 2015 года по 13 марта 2015 года?

Методы, которые я попробовал:

  1. Я использовал агрегацию с предложением меньше и больше, чем в MongoDB.

  2. Я также использовал дату предложения части, когда извлекал все даты с 12 января 2015 года по 13 марта 2015 года.

Проблема: Есть ли реальный способ узнать, сколько студентов посещало лекции в период с 12 января 2015 года по 13 марта 2015 года?

Пример:

студенческий документ

  "_id":"5c1639b3a1b32bb04547137f",

  "student_name":"MR. Rahul"

  "iso_dom":12,

  "iso_dow":3,

  "iso_month":1,

  "iso_week":12,

  "isp_year":2018,

  "attend_lecture":5

1 Ответ

1 голос
/ 10 мая 2019

Вставьте новую контрольную дату, которая дает возможность выбрать документы между двумя датами, и с помощью функции агрегирования определить, сколько студентов посетили лекции в диапазоне дат с 12 января 2015 года по 13 марта 2015 года.

...