Come trovare per ID in MongoDB

Come trovare per ID in MongoDB
MongoDB è un tipo NOSQL di database che memorizza i dati in documenti come coppie di valore chiave. MongoDB supporta solidi comandi e operatori di recupero che lo rendono favorevole tra gli altri DBM (sistemi di gestione del database). Il metodo più utilizzato di MongoDB è Trovare() Metodo che aiuta a visualizzare i documenti per qualsiasi ordine o query. Come altri sistemi di gestione del database, MongoDB crea un valore predefinito ID univoco (chiave primaria nella maggior parte dei DBM) per ogni documento.

In MongoDB, è abbastanza facile ed efficace interagire con i documenti utilizzando ID univoci. IL Trovare() Il metodo di MongoDB può essere applicato anche su una raccolta MongoDB, facendo riferimento al IDS dei documenti. L'intero processo in cui i documenti vengono recuperati utilizzando ID univoci in Trovare() Il metodo è chiamato come "Find () per ID".

In questo post della serie MongoDB, forniremo una guida sequenziale per applicare il metodo find () per recuperare i documenti da parte di ID.

Come il metodo Find by ID funziona in MongoDB

A Mongodb, il Trova () per ID Il metodo è un'estensione di Trovare() metodo e quindi la sintassi primaria utilizzata è la stessa Trovare() metodo. La sintassi da applicare Trova () per ID è riportato di seguito:

db.Collection-name (_ id:)

In MongoDB, ci sono due possibilità per un ID univoco:

  • Se l'utente definisce il valore ID durante l'inserimento dei documenti, deve essere univoco.
  • Se l'utente non crea un ID univoco, MongoDB lo genera automaticamente per ogni documento.

Come utilizzare il metodo Find by ID in MongoDB

Prima di iniziare l'applicazione di Trova per id su una collezione; In questo tutorial verranno utilizzate le seguenti istanze basate su MongoDB:

Nome del database: "Linuxhint"È il nome del database utilizzato in questa guida

Collezione (S) -Name: Due collezioni di "Linuxhint"Vengono utilizzati il ​​database che sono nominati come"distribuzioni" E "dipendenti".

Esempio 1: ID definito dall'utente

IL "distribuzioni"La collezione verrà utilizzata in questo esempio. Come accennato in precedenza, quando l'utente inserisce ogni documento con "_id"Campo quindi diventa ID univoco definito dall'utente: ad esempio, i documenti inseriti in"distribuzioni"La raccolta contiene l'ID definito dall'utente (1,2,3 .. ) come si può vedere nell'output di seguito:

> db.distribuzioni.Trovare().bello()

È possibile recuperare qualsiasi documento per riferimento id nel metodo find (). Ad esempio, il comando scritto di seguito aiuterà a recuperare un documento che ha "_id"Valore 2:

> db.distribuzioni.find (_ id: 2)

Allo stesso modo, puoi ottenere qualsiasi altro documento utilizzando "Trova per id" metodo.

Utilizzo di Furt by ID e Ordina metodi sugli ID definiti dall'utente: Inoltre, con l'aiuto del Find () Metodo E Metodo Ordine (), È possibile ottenere l'output in ordine crescente di IDS.

Il comando menzionato di seguito mostra l'applicazione del "Trovare" E "ordinare"Metodi sugli id ​​di"distribuzioni" collezione.

Nota: L'ordine di smistamento può essere "1" O "-1,"Che sta per crescente o discendente rispettivamente.

> db.distribuzioni.Trovare().Ordine (_ id: -1)

Esempio 2: ID definito dal sistema

Qui, in questo esempio, "dipendenti"La raccolta viene utilizzata e questa raccolta contiene documenti che hanno definito il sistema"IDS"Come mostrato nell'output di seguito:

> db.dipendenti.Trovare().bello()

Vedrai che il "_id"Il campo contiene un ID univoco complesso per ogni documento.

Quindi, per recuperare qualsiasi documento, è necessario passare l'ID lungo come mostrato nel comando seguente:

> db.dipendenti.find (_ id: objectId ("616d7ca2cb1032dfa6345840"))

Utilizzo di Find by ID e Ordina metodi su ID definiti dal sistema: Come su ID definito dall'utente; È possibile utilizzare il metodo di ordinamento sugli ID definiti dal sistema per ottenere l'output in ordine crescente o decrescente:

Il comando scritto di seguito ordinerà i documenti di "dipendenti"Collezione in ordine decrescente:

> db.dipendenti.Trovare().Ordine (_ id: -1)

Nota: La sintassi è la stessa, ma il nome della raccolta è diverso e la definizione dell'ID è anche diversa.

Mentre si tratta di ID definiti dal sistema, se hai inserito erroneamente la lunghezza sbagliata di "_id,"Quindi potresti riscontrare il seguente errore:

O se si desidera recuperare il sistema definito "id"Di definito dall'utente"id", Il comando verrà eseguito ma non mostrerà alcun output perché gli ID definiti dall'utente non esistono su"dipendenti" collezione:

Conclusione

Il metodo Find () di MongoDB contiene un ampio elenco di operatori e comandi supportati che aiutano a recuperare i documenti in una forma raffinata. L'ID univoco può essere utilizzato con il metodo Find () per ottenere i documenti in base ai loro ID. Seguendo questa guida, gli utenti di Mongo possono ottenere i documenti utilizzando l'ID di tali documenti nel metodo find (). Inoltre, per una migliore comprensione, vengono forniti alcuni esempi che mostrano l'uso di "Trova () per ID " Metodo in MongoDB.