Introduzione

MongoDB è un potente server di database Nosql. MongoDB utilizza documenti simili a JSON con schemi opzionali per archiviare i dati.

È sempre un compito critico per uno sviluppatore organizzare i dati. Poiché svolge il ruolo più importante nelle prestazioni dell'applicazione. In Mongodb, puoi utilizzare query simili all'istruzione SQL LIKE per recuperare i dati.

Per gli esempi utilizzati in questo tutorial, utilizziamo alcuni dati fittizi come di seguito. Puoi anche creare un database ed eseguire i seguenti comandi per inserire dati fittizi.

db.colors.insert({ "id": 100, "color": "Pink"})
db.colors.insert({ "id": 101, "color": "Purple"})
db.colors.insert({ "id": 102, "color": "Black"})
db.colors.insert({ "id": 103, "color": "Blue"})

Utilizzare l'istruzione find()

Il comando di Mongodb find() viene utilizzato per cercare documenti da una raccolta. Questa funzione fornisce opzioni flessibili per cercare documenti.

La funzione predefinita find() recupera tutti i documenti in una raccolta. Consente inoltre di interrogare una raccolta di documenti, passando alcuni semplici parametri, e restituire un cursore.

Vediamo un semplice esempio del metodo .find():

db.colors.find()

Il messaggio di output dovrebbe essere simile al seguente:

{ "_id" : ObjectId("5f697e4ccc528930cde49f53"), "id" : 100, "color" : "Pink" }
{ "_id" : ObjectId("5f697e4fcc528930cde49f54"), "id" : 101, "color" : "Purple" }
{ "_id" : ObjectId("5f697e52cc528930cde49f55"), "id" : 102, "color" : "Black" }
{ "_id" : ObjectId("5f697e55cc528930cde49f56"), "id" : 103, "color" : "Blue" }

Quanto sopra restituisce tutti i documenti di una raccolta. Ma questo è un utilizzo molto raro in produzione. Generalmente si richiede una lista di risultati filtrati da un database.

Ad esempio, recupera tutti i documenti contenenti color:Pink. Esegui la seguente query:

db.colors.find({color: "Pink"})

Il messaggio di output dovrebbe essere simile al seguente:

{ "_id" : ObjectId("5f7f1e162422ff180d76fb00"), "id" : 100, "color" : "Pink" }

Utilizzare di .find() come istruzione SQL LIKE

Puoi usare l'espressione regolare per cercare documenti in Monogdb. Questo sarà simile alle istruzioni LIKE nelle query SQL.

Cerca stringa ovunque: Per cercare in tutti i documenti in cui il nome del colore ha "Rosa" ovunque nella stringa. La seconda istruzione cerca tutti i documenti in cui il colore ha Bl nel nome:

db.colors.find({color: /Pink/})
db.colors.find({color: /Bl/})

Cerca stringa inizia: corrisponderà a tutte le stringhe che iniziano con i caratteri P. Il simbolo apice ^ viene utilizzato per iniziare con:

db.colors.find({color: /^P/})

Cerca la fine della stringa: il simbolo del dollaro $ viene utilizzato per abbinare le estremità della stringa con caratteri specifici. L'esempio seguente corrisponde a tutte le stringhe che terminano con il carattere k:

db.colors.find({color: /k$/})

Cerca stringa in qualsiasi posizione: il metodo di ricerca predefinito fa distinzione tra maiuscole e minuscole. Puoi istruire il comando find per abbinare i caratteri in ogni caso con l'opzione i come usata nell'esempio seguente:

db.colors.find({color: /k$/i})

Conclusione

In questo tutorial, hai imparato a cercare nel database in modo simile alle istruzioni SQL LIKE in Mongodb.