Моя сортировка по дате не работает как тип даты, но тип текста в моем запросе mongodb.
У меня есть документ "affaire", который выглядит следующим образом:
{
"_id": {
"$oid": "5e32b42467e488e064972adf"
},
"Adresse": "22 rue des rosiers 75005 PARIS",
"Date_de_prochaine_echeance": {
"$date": {
"$numberLong": "1461715200000"
}
},
...
}
mon goose объявление:
{
...
"Date_de_prochaine_echeance": { "type": "Date" },
...
}
Мой запрос выглядит следующим образом
affaire.find().sort([['Date_de_prochaine_echeance', -1]]).
select("Adresse ").
exec(function (err, affaire) { ...});
Моя вставка выглядит следующим образом (я заметил, что не все мои даты вставляются одинаково, я полный позора):
new affaire({ ...
"Date_acceptation": req.body.Date_acceptation||new Date(),
"Date_de_prochaine_echeance": new moment(req.body.Date_de_prochaine_echeance||"2099-01-01T00:00:00.000Z").toDate(),
...
});
nb: я использовал момент. js lib
Функция сортировки работает не так, как поле даты, но текстовое поле. В некоторых ответах я вижу, что формат даты может быть не очень хорошим. Но я не понимаю, как исправить все мои даты с ISODate («2018-03-16T06: 30: 00Z»).
Дата представляется правильным форматом даты, поскольку интерфейс компаса правильно интерпретирует дату.
Я работаю с mon goose, разве он не должен проверять формат?