Использование mongodb
через mongoose
в моем node.js
проекта. Мои документы имеют следующую структуру:Группа по дате несколько переменных
{ created: new Date("2014-12-24"), last_visited: new Date("2014-12-24") },
{ created: new Date("2014-12-16"), last_visited: new Date("2014-12-24") },
{ created: new Date("2014-12-13"), last_visited: new Date("2014-12-13") },
{ created: new Date("2014-12-12"), last_visited: new Date("2014-12-20") },
{ created: new Date("2010-01-01"), last_visited: new Date("2014-12-20") }
Я хочу показать, как были созданы/обновлены на определенную дату в течение последних 30 дней много документов. Таким образом, выход должен быть следующим:
{ date: ISODate("2014-12-12"), created: 2, last_visited: 0 },
{ date: ISODate("2014-12-13"), created: 1, last_visited: 0 },
{ date: ISODate("2014-12-16"), created: 1, last_visited: 0 },
{ date: ISODate("2014-12-20"), created: 0, last_visited: 2 },
{ date: ISODate("2014-12-22"), created: 0, last_visited: 1 },
{ date: ISODate("2014-12-24"), created: 0, last_visited: 2 },
Уведомление о том, что год 2010 года был пропущен из-за того, что он старше 30 дней.
Как я могу это сделать?
Могу ли я просто сказать, что * «Я написал дату таким образом, чтобы быть коротким здесь» * действительно это ужасный способ представить это. Должны ли мы действительно читать весь ваш контент, чтобы понять, что это на самом деле ISODate или действительно ** Объекты BSON Date **? Почему бы не использовать [** '$ gt' **] (http://docs.mongodb.org/manual/reference/operator/query/gt/) с даты 30 дней назад? –
Не ужасно вообще, потому что некоторые могут подумать, что даты хранятся как текст в БД и каким-то образом должны быть преобразованы в формат даты в запросе. – kaytrance
Нет Ужасно. Дата типа «String». Это также не «лексический», что означает операторы диапазона, такие как ** $ gt ** и ** $ lt **, а кузены не работают. Дополнительный ** факт ** заключается в том, что «String» занимает ** больше памяти **, чем дата BSON, которая является «Long Integer» с маркером «type», чтобы показать, что это дата. Даты являются полезными типами, когда вы хотите их сохранить. Использование чего-либо еще в основном неправильное. –