Поиск даты в mongodb - PullRequest
       14

Поиск даты в mongodb

0 голосов
/ 13 октября 2018

В коллекции mongodb у меня есть поле с именем event_startdate, которое имеет следующий формат: event_startdate: 2018-10-14 16: 00: 00.000 (type: date)

Я сохраняю дату и время вместе, это поле ихотите найти событие, которое происходит сегодня и используя запрос, указанный ниже

var date = moment (). format ('YYYY-MM-D') Event.find ({event_startdate: date}).exec ()

Так как время также привязано к event_startdate, я не могу получить сегодняшние детали.есть ли способ найти это?

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Вы также можете использовать find.

db.getCollection('loginDetail').find({
      "$expr": {
        $eq: 
      [ "2018-09-21", { "$dateToString": { "date": "$eventDate", "format": "%Y-%m-%d"
            }
          }
        ]
      }
    })
0 голосов
/ 13 октября 2018

var date= moment().format('YYYY-MM-D') даст вам строку, которую затем вы пытаетесь сравнить с датой ISO в монго.

Попробуйте что-то из этих строк:

db.getCollection('COLNAME').aggregate([
  {
    "$match": {
      "$expr": {
        $eq: [
          "2018-10-10",    // <--- You string date goes here
          {
            "$dateToString": {
              "date": "$date",
              "format": "%Y-%m-%d"
            }
          }
        ]
      }
    }
  }
])

Это использует$expr оператор трубопровода с dateToString.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...