2012-02-14 16 views
7

C'è una differenza tra l'utilizzo di PHP time() e l'utilizzo di new MongoDate()? Ho bisogno di memorizzare le date create_at e updated_at per ogni documento della collezione mongoDB in modo da poterle interrogare per data (ad esempio documenti aggiornati la scorsa settimana).Differenza tra ora() e nuovo MongoDate()?

Da quello che posso vedere time() e il nuovo MongoDate() produce lo stesso risultato?

+0

Si prega di aggiungere i due esempi che producono lo stesso risultato ma si differenziano per il vostro caso. Altrimenti non è davvero chiaro cosa ti chiedi. – hakre

risposta

6

Questo perché time() è di default per il costruttore MongoDate, dal manuale:

public MongoDate::__construct ([ int $sec = time() [, int $usec = 0 ]]) 

Si dovrebbe usare MongoDate oggetti per interrogare MongoDB.

Se si utilizza l'output grezzo di time(), verrà archiviato/interrogato per un numero intero. Quando si utilizza MongoDate, si utilizzerà MongoDB Date type che offre alcuni vantaggi aggiuntivi.

+0

Quindi posso usare time() per salvare un timestamp nel DB? Perché dovrei usare MongoDate quando eseguo le interrogazioni? –

+0

@Jonathan Clark, vedere la risposta aggiornata per ulteriori spiegazioni. – Mchl

+0

Aha ok. Come MongoId allora? Ma la data appare esattamente la stessa nel documento? Non dovrebbe essere diverso? –