2012-05-01 10 views
8

Qual è il vantaggio dell'utilizzo di un ObjectId anziché, ad esempio, un UUID come stringa semplice?Qual è il vantaggio dell'utilizzo di un ObjectId invece di una stringa semplice?

+1

@ich Flagged. Sei odioso È stato davvero discusso trilioni di volte? No. Iperbole e sarcasmo non sono i benvenuti da queste parti. Se è un problema, collega al dupe e vota per chiudere. Se non riesci a trovare l'ingannatore, mantieni la tua opinione odiosa. – jcollum

+0

Ho effettivamente cercato "mongodb objectid" (senza virgolette) qui su SO, scremato i risultati dalla prima pagina e non ho trovato la risposta alla mia domanda. Hai un link utile, per favore condividi. –

+0

Non capisco la rabbia dal commento di @jcollum, forse la domanda/commento è stato modificato/cancellato in mezzo, ma non vedo nulla di sbagliato nella domanda. Se è un duplicato, contrassegnalo come invece. (Anche se la domanda ha diversi anni, sento che devo ancora scrivere questo) –

risposta

11

Un ObjectId è binario e occupa quindi meno spazio. I ObjectId hanno anche il fattore di ordinamento: finiranno per essere in ordine di inserimento (o molto vicino), pur restando unici. L'ordinamento può essere buono per alcune cose, ma indesiderato per gli altri (come le chiavi shard). Puoi anche estrarre il timestamp (seconda risoluzione) da un ObjectId, che può essere conveniente.

A parte questo, direi che non c'è molta differenza.

Problemi correlati