Sintassi dell'operatore
La seguente espressione definisce la sintassi utilizzata per $ in operatore:
field: $ in: [,,…]L'operatore confronta ciascun parametro con tutti i documenti nella raccolta specificata. È importante essere consapevoli di come viene applicato questo operatore perché può portare a colpi di prestazione.
MongoDB consiglia di limitare il numero di parametri da scansionare per evitare significativi problemi di prestazioni.
È inoltre possibile utilizzare altre funzionalità come indici per aiutare MongoDB quando si applica l'operatore $ in una grande collezione.
Esempio pratico
Prendiamo una collezione con valori del mondo reale per illustrare come usare questo operatore. Considera la raccolta del campione mostrata di seguito:
db.CreateCollection ("negozio")La query sopra crea una collezione "negozio" e aggiungi dati di esempio ad essa. Esploriamo ora come possiamo usare l'operatore $ in tale documento.
Utilizzando l'operatore $ in per individuare i documenti di corrispondenza
L'esempio seguente utilizza l'operatore $ in per trovare tutti i documenti in cui la categoria è "Apple" o "Samsung".
db.negozio.find (categoria: $ in: ["Apple", "Samsung"])In questo caso, la query dovrebbe restituire i documenti solo con i valori "Apple" o "Samsung" nell'array di categoria.
Un output di esempio è come mostrato:
Utilizzo di $ in operatore per aggiornare i documenti corrispondenti a una condizione specifica
Possiamo anche utilizzare i metodi $ in operatore $ in per eseguire un aggiornamento della raccolta utilizzando aggiornamenti () o updatemany ().
Supponiamo che il negozio abbia finito i dispositivi Apple e desideriamo aggiornare i documenti in una singola query, possiamo eseguire una richiesta come mostrato:
db.negozio.UpdateMany (categoria: $ in: ["Apple"],La query sopra aggiorna i documenti in cui la categoria è uguale a "Apple" e lo stato disponibile a False.
Il documento risultante dovrebbe apparire come mostrato:
Possiamo vedere qualsiasi voce Apple include un campo disponibile con il valore impostato su False.
Conclusione
In questo post, abbiamo esplorato l'operatore $ in MongoDB. Questo operatore ci consente di selezionare documenti il cui valore di campo corrisponde a un determinato set di valori in un array.
Grazie per aver letto!!