2016-04-21 4 views
0

У меня есть коллекция mongo db, как показано ниже.Дата форматирования в приложении mongojs и angularjs

{ 
    "_id": { 
     "$oid": "57048f2f60b18f8e186e65b6" 
    }, 
    "ID": 1, 
    "Room_ID": 303, 
    "StartTime": "2016-03-12T11:00:00Z", 
    "EndTime": "2016-03-12T12:00:00Z", 
    "Login_ID": "ABCDE" 
} 

Я использую db.collection.find() запрос для выборки результатов. Я пытаюсь показать дату в двух частях 1. DD-MM-YY и 2. HH-MM-SS. У меня есть две идеи для этого. 1. Получите дату в нужном формате от collection.find() или 2. После выбора записей в курсор проанализируйте его в коде angularjs, чтобы разделить значения даты и времени.

Я пробовал $dateToString из mongodb, но не смог получить результат. На самом деле я смущен этим.

db.RoomReservation.aggregate({ $project: {"Login_ID": "ABCDE", dt: { $dateToString: { format: "%Y-%m-%d", date: "$StartTime"}}}}); 
assert: command failed: { 
     "errmsg" : "exception: can't convert from BSON type String to Date", 
     "code" : 16006, 
     "ok" : 0 
} : aggregate failed 

Может кто-то пожалуйста, помогите мне в получении выход collection.find() в следующем формате

Room_ID, Date, StartTime, EndTime, Login_ID 
303, 2016-03-12, 11:00, 12:00, ABCDE 
+0

Это для MongoDB версии 3.0 или выше. Какую версию MongoDB вы используете? –

+0

Привет, я использую '3.2.4' версию –

+0

, вы должны оставить форматирование даты на слой пользовательского интерфейса. Существуют такие библиотеки, как Moment.js, для отображения даты в любых желаемых форматах. – titogeo

ответ

3

Вы можете просто разобрать дату в угловой части с помощью фильтров, если вы хотите ..

 <span>{{ | date:'dd-MM-yyyy @ HH:mm:ss Z'}}</span> 

можно найти дополнительные варианты даты here

+0

Большое спасибо за легкую работу. Это помогло мне, хотя мне нужно было решить проблему с часовым поясом. :) –

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