2016-04-29 3 views
1

позволяет сказать, что я использую mongo.shell и я бегу db.collection.find() довольно(), чтобы получить это:.показать даты Отметка времени в удобочитаемом формате в Монго оболочки

{ 
    "name" : "foo", 
    "parent" : "bar", 
    "createdDate" : NumberLong("12345678"), 
    "modifiedDate" : NumberLong("12345679") 
} 

Я хочу, чтобы те даты, чтобы быть чем-то читаемым человеком, и я хочу иметь возможность получить это с минимальными усилиями.

Есть ли способ установить мой файл .mongorc.js для автоматического преобразования этих значений в понятные для человека даты, возможно, указав точные поля, которые я считаю полями даты? Если не самый удобный синтаксис для добавления в мой поиск, чтобы быстро преобразовать даты в человеко-читаемые, если необходимо?

ответ

1

Вы можете использовать агрегат и форматировать строку даты.

db.collection.aggregate(
    [ 
    { 
     $project: { 
       name: 1, 
       parent: 1, 
       readableCreatedDate: { $dateToString: { format: "%Y-%m-%d %H:%M:%S", date: "$createdDate" } }, 
       readableModifiedDate: { $dateToString: { format: "%Y-%m-%d %H:%M:%S", date: "$modifiedDate" } } 
     } 
    } 
    ] 
) 

Примечание: Я тестировал аналогичный случай в версии 3.2, и я думаю, что он работает с версией 3.0. Кроме того, тип данных Дата в моем случае был ISODate не NumberLong

MongoDB документ выглядит так,

{ 
    "_id" : ObjectId("xxxxxxxx"), 
    "endTime" : ISODate("2016-09-13T08:16:52.915Z"), 
    "startTime" : ISODate("2016-09-13T08:16:52.915Z"), 
    "__v" : 0 
} 
Смежные вопросы