Лучший способ сохранить дату / время в mongodb



Я видел использование строк, целочисленных временных меток и объектов Mongo datetime.

1090   2  

2 ответов:

лучший способ-хранить собственный JavaScript дата объекты, что на BSON native Date objects.

> 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 объекты В и из временных меток Unix1), С помощью getTime() способ и Date(milliseconds) конструктор, соответственно.

1) строго говоря, временная метка Unix измеряется в секунд. Объект даты JavaScript измеряется в МС С эпохи Unix.

одна метка даты уже находится в объекте _id, представляя время вставки

поэтому, если время вставки - это то, что вам нужно, оно уже есть:

войдите в MongoDB shell

ubuntu@ip-10-0-1-223:~$ 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" }

получить каждый строка в гггг-ММ-ДД чч:мм: СС формат:

> 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

если этот последний однострочный смущает вас, у меня есть пошаговое руководство о том, как это работает здесь:https://stackoverflow.com/a/27613766/445131

Protip, MongoDB-лучшая БД, потому что MongoDB-это веб-масштаб:https://www.youtube.com/watch?v=b2F-DItXtZs

Comments

    Ничего не найдено.