sql >> Databáze >  >> NoSQL >> MongoDB

Existuje způsob, jak zobrazit časové razítko ve formátu unix na ISODate?

Pozadí

  • unixtime hodnota představuje sekundy od epochy (1. ledna 1970).

  • Datum JavaScript() představuje milisekundy od epochy.

  • V MongoDB, ISODate() je pohodlný obal pro Date() který vám umožňuje vytvářet data z řetězců ISO v mongo skořápka. Pokud použijete new Date() v shellu vrátí ISODate() .

Konverze

Pro převod mezi unixtime a ISODate() můžete vynásobit vaše unixová časová razítka 1000 a předat tuto hodnotu do new Date() konstruktor.

Jednoduchý příklad v mongo shell:

> db.mydata.insert({
    unixtime: 1362143511
})

> var doc = db.mydata.findOne();

// convert unixtime seconds to milliseconds and create JS date
> var date = new Date(doc.unixtime * 1000);

> date
ISODate("2013-03-01T13:11:51Z")


  1. počítejte výskyty polí ve všech dokumentech pomocí mongo

  2. Konverze z řetězce na MongoDB ObjectID

  3. Aplikační mezipaměť v.s. Úsporná mezipaměť druhé úrovně, kterou použít?

  4. Jak promítnout pouze odpovídající pole vnořeného pole v dotazu mongo shell