Sto creando un servizio per il quale userò MongoDB come back-end di archiviazione. Il servizio produrrà un hash dell'input dell'utente e quindi vedrà se lo stesso hash (+ input) esiste già nel nostro set di dati.Creazione di ID oggetto personalizzato in MongoDB
L'hash sarà unica ancora casuale (= non incrementale/sequenziale), quindi la mia domanda è:
- E '-legitimate- ad utilizzare un valore casuale per un ID oggetto? Esempio:
$object_id = new MongoId(HEX-OF-96BIT-HASH);
O sarà MongoDB trattare l'ObjectID in modo diverso da altri quelli del server di produzione, dal momento che un "vero" ObjectID contiene anche timestamp, machine_id, ecc?
Quali sono i pro e i contro dell'uso di un valore "casuale"? Immagino che sarebbe statisticamente più lento per il motore aggiornare l'indice sugli inserti quando i nuovi _id non sono in alcun modo incrementali - sono corretti su questo?
Univoco + ID casuale è la strada da percorrere. – Sim
@Sim E 'per questo che hai votato? Forse puoi spiegarci un po 'la tua logica, stai fondamentalmente parlando la stessa logica di me e di questo rispondente. Essenzialmente l'ObjectId è un ID unico e casuale. – Sammaye
@Sammaye scusa, deve essere stato un clic mal mirato. :/Ho voluto votare sia la tua che questa risposta perché sono più importanti delle mie. Se modifichi la tua risposta, posso farlo votare. Senza la modifica il sistema non me lo permetterà. – Sim