2012-05-02 14 views

risposta

22

Dato che non si specifica una lingua, assumerò che si intenda JavaScript, come nella shell.

Una delle belle funzionalità della shell è che ha il completamento delle schede. Così si può fare qualcosa di simile:

> db.test.insert({x:new Date()}); 
> var doc = db.test.findOne(); 
> doc 
{ 
"_id" : ObjectId("4fa131851932655dc45027a9"), 
"x" : ISODate("2012-05-02T13:07:17.012Z") 
} 
> doc.x 
ISODate("2012-05-02T13:07:17.012Z") 
> doc.x.<TAB><TAB> 
doc.x.constructor   doc.x.getSeconds(   doc.x.getUTCMinutes(doc.x.setHours(    doc.x.setUTCHours(   doc.x.toLocaleDateString(
doc.x.getDate(    doc.x.getTime(    doc.x.getUTCMonth(   doc.x.setMilliseconds(  doc.x.setUTCMilliseconds( doc.x.toLocaleString(
doc.x.getDay(    doc.x.getTimezoneOffset( doc.x.getUTCSeconds(  doc.x.setMinutes(   doc.x.setUTCMinutes(  doc.x.toLocaleTimeString(
doc.x.getFullYear(   doc.x.getUTCDate(   doc.x.getYear(    doc.x.setMonth(    doc.x.setUTCMonth(   doc.x.toString(
doc.x.getHours(    doc.x.getUTCDay(   doc.x.hasOwnProperty(  doc.x.setSeconds(   doc.x.setUTCSeconds(  doc.x.toTimeString(
doc.x.getMilliseconds(  doc.x.getUTCFullYear(  doc.x.propertyIsEnumerable( doc.x.setTime(    doc.x.setYear(    doc.x.toUTCString(
doc.x.getMinutes(   doc.x.getUTCHours(   doc.x.setDate(    doc.x.setUTCDate(   doc.x.toDateString(   doc.x.tojson(
doc.x.getMonth(    doc.x.getUTCMilliseconds( doc.x.setFullYear(   doc.x.setUTCFullYear(  doc.x.toGMTString(   doc.x.valueOf(

Ciò che si vuole è probabilmente:

> doc.x.getSeconds(); 
17 
> doc.x.getMinutes(); 
7 
> doc.x.getHours(); 
9 
> doc.x.getDate(); 
2 
> doc.x.getMonth(); 
4 
> doc.x.getFullYear(); 
2012 
+0

perché'doc.x.getMonth(); 'restituisce 4 invece di 5. – Moj

+1

Probabilmente perché MongoDB usa lo zero indici basati (inizia il conteggio a 0 invece di 1) –

+2

getMonth() è la funzione javascript. Inizia da 0. Vedi questo http://www.w3schools.com/jsref/jsref_getmonth.asp – okisinch