2015-09-21 3 views
0

Я пытаюсь отфильтровать набор значений в коллекции (messages) по столбцам даты. У меня есть две колонки:Фильтр по дате сравнения в MongoDB

date: Wed September 18, 2013 
mdate: 9/18/2013 6:19:40 PM 

Использование MongoVUE Я попытался это:

{"date" : { $gte : new ISODate("2014-09-12 18:14:58") }} 

Но не получилось, и я получаю сообщение:

Синтаксис или разбора ошибок

Что не так по запросу? Каков правильный запрос?

ответ

0

Ваши даты должны быть сохранены как ISODates для MongoDB, чтобы увидеть их как даты - ваши текущие свойства являются строками. Вам нужно будет преобразовать их в ISODates, чтобы запросить их.

+0

У меня есть БД объемом 4 ГБ, это огромное, любое другое решение? – ReynierPM

+0

@ReynierPM no - написать JavaScript, чтобы выполнить преобразование один раз и начать правильно хранить даты из вашего приложения. – Martin

+0

Можете ли вы дать мне код для тестирования? Я понятия не имею, как перемещать все записи в коллекции 'messages' и преобразовывать эти два столбца в ISODates. Я думаю, что 'd = new Date()' (используя значение столбца, возможно, я ошибаюсь), а затем 'var nd = d.ISOString (d)' выполнит эту работу, но я не уверен, как этого достичь. Я взял эту идею из [здесь] (http://www.w3schools.com/jsref/jsref_toisostring.asp) – ReynierPM