Meteor/mongo получает записи, созданные месяц назад

Как получить записи из моей коллекции, созданной месяц назад с помощью moment.js, возвращающей счет всех записей.

Код моей коллекции:

Products.find() // where start and end date is one month ago and  products is the collection

Это может быть глупый вопрос, но, поскольку я перехожу с рельсов на javascript / meteor, небольшая помощь будет в порядке.

образец документа

 {
        "_id": "xxx",
        "name": "xxx",
        "description": "xxx",
        "createdAt": "2015-04-18T04:40:00Z",
        "productType": "Flavoured Milk",
        "opt1": "Packaging",
        "opt2": "Weight",
        "supplier": "xxx",
        "brand": "xxx"
        "status": "active",
        "tags": ["xxx","xxx"],
        "updatedAt": "2015-04-18T04:40:00Z"
    }

2 ответа

Решение

Вы можете получить объект Date месяца назад:

moment().subtract(1, "months").toDate();

Я предполагаю, что у вас есть поле createdAt на Products коллекция. Таким образом, запрос для поиска всех продуктов, созданных месяц назад, будет:

var oneMonthAgo = moment().subtract('months', 1).toDate();

Products.find({ createdAt: oneMonthAgo })

Но имейте в виду, что приведенное выше решение вернет только те записи, которые были созданы ровно месяц назад с точностью до секунды.

Uchenna,

В Moment.js 2.8.0 Вы могли бы сделать что-то такое:

var comparison = moment().subtract(1, 'months').toDate();

Products.find({ createdAt: comparison });

Согласно документам:

До версии 2.8.0 также поддерживался синтаксис момента # вычитания (String, Number). Это устарело в пользу момента # вычитания (число, строка).

Другие вопросы по тегам