В моем MongoDb (с использованием Mongoose) Я храню даты как строку в utc и формате ISO. Теперь я хочу выполнить поиск записей по дате, но не могу понять, как это сделать.MongoDb найти по дате при сохранении в виде строки
Data.find()
.$where(function() {
return new Date(this.timeStamp).getTime() > new Date('2016-1-1').getTime();
})
.exec(function(err, wData) {
if(err) {return next(err);}
res.json(wData);
});
Проблема является $, где удаляются все общие функции по какой-то причине и «GetTime()» это не метод объекта.
Как бы я это сделал, не меняя схему, чтобы сохранить «Дата».
Редактировать: Я также попробовал Date.parse(). И «console» не существует в $, где либо я пытаюсь вывести что-либо.
Edit2: Вот моя схема, у меня нет доступа к моему Db в данный момент, поэтому я не могу дать образец документа. Тем не менее, я использую данные уже (без $ where, он просто возвращает все, что у меня есть), а форматы даты хороши и правильно конвертируют в объекты Date на передней панели.
var WeatherData = new mongoose.Schema({
timeStamp: String,
lightLevel: Number,
temperature: Number,
pressure: Number,
humidity: Number,
windSpeed: Number,
windDirection: Number
});
Edit3: Хотя проблема решена, я заинтересован в каких-либо других методов, которые не связаны с «RegExp»
Почему во второй 'getTime' вы не вызываете функцию? это опечатка? –
Да, это была опечатка, когда вы задавали вопрос. Однако проблема не устраняет проблему. –