2016-04-07 2 views
0

Моя проблема в том, что у меня есть объекты с свойством date, и я хочу фильтровать по дате в своем внешнем приложении (используя angularJS).Сериализовать дату от mongodb до nodejs mongoose

, но, к сожалению, мангусты сериализовать объект как ключ-значение строки например объекта:

"_id":123456, 
Name :"Adam", 
Family: "Levine", 
Date : ISODate("2017-02-22T22:00:00:00Z"), 
"__v":0 

но когда Im делать Model.find() функцию мангуста, Im получить этот объект:

"_id":123456, 
Name :"Adam", 
Family: "Levine", 
Date : "2017-02-22T22:00:00:00Z" 

как я могу исправить эту проблему?

ответ

0

Когда MongoDB/Mongoose сериализует объект, он превращает его в JSON.

Значения JSON могут быть только типа объекта, массива, числа, строки, истины, ложных или нулевых значений. Проверьте раздел ECMA-404 The JSON Data Interchange Format Раздел 5 или Douglas Crockford's JSON.

Учитывая, что мы знаем, что это может быть только одно из вышеуказанных значений, мы знаем, что мангуста сериализует его в строку. Это ваша работа, чтобы преобразовать его в фактический объект даты JavaScript. Вы можете вручную взять дату и проанализировать ее самостоятельно, или вы можете использовать библиотеку, такую ​​как moment.js, которая будет обрабатывать большую часть синтаксического анализа/форматирования и других связанных с датой функций.

Также ознакомьтесь с некоторыми другими вопросами StackOverflow, которые могут вам помочь.

Смежные вопросы