Я видел использование строк, целых временных меток и объектов dontetime mongo.
Лучший способ хранения даты/времени в mongodb
Ответ 1
Лучший способ - сохранить собственный JavaScript Объекты Date, которые отображаются на Собственные объекты даты BSON.
> db.test.insert({date: ISODate()})
> db.test.insert({date: new Date()})
> db.test.find()
{ "_id" : ObjectId("..."), "date" : ISODate("2014-02-10T10:50:42.389Z") }
{ "_id" : ObjectId("..."), "date" : ISODate("2014-02-10T10:50:57.240Z") }
Нативный тип поддерживает целый ряд полезных методов из коробки, которые вы можете использовать, например, в ваших сокращениях на карте.
Если вам нужно, вы можете легко конвертировать Date
объекты в и из временных меток Unix 1) используя метод getTime()
и конструктор Date(milliseconds)
, соответственно.
1) Строго говоря, отметка времени Unix измеряется в секундах. Объект Date JavaScript измеряется в миллисекундах с эпохи Unix.
Ответ 2
Одна дататепа уже находится в объекте _id, представляющем время вставки
Итак, если время вставки - это то, что вам нужно, оно уже есть:
Вход в оболочку mongodb
[email protected]:~$ mongo 10.0.1.223
MongoDB shell version: 2.4.9
connecting to: 10.0.1.223/test
Создайте свою базу данных, вставив элементы
> db.penguins.insert({"penguin": "skipper"})
> db.penguins.insert({"penguin": "kowalski"})
>
Позволяет сделать эту базу данных той, на которой мы сейчас находимся
> use penguins
switched to db penguins
Верните строки:
> db.penguins.find()
{ "_id" : ObjectId("5498da1bf83a61f58ef6c6d5"), "penguin" : "skipper" }
{ "_id" : ObjectId("5498da28f83a61f58ef6c6d6"), "penguin" : "kowalski" }
Получить каждую строку в yyyy-MM-dd HH: mm: ss format:
> db.penguins.find().forEach(function (doc){ d = doc._id.getTimestamp(); print(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds()) })
2014-12-23 3:4:41
2014-12-23 3:4:53
Если этот последний лайнер вас смущает, у меня есть пошаговое руководство о том, как это работает здесь: fooobar.com/info/45215/...
Protip, MongoDB - лучшая БД, потому что MongoDB - это веб-масштаб: https://www.youtube.com/watch?v=b2F-DItXtZs