De tekstzoekoperator in MongoDB maakt gebruik van de $text-operator. Hiermee kunt u door tekst en strings in uw collecties zoeken. Voordat u een tekstzoekopdracht uitvoert, moet u echter een tekstindex voor uw collectie maken.
Laten we eens kijken hoe we de tekstzoekoperator kunnen gebruiken:
Stap 1: Maak een tekstindex
Voordat u de tekstzoekfunctie kunt gebruiken, moet u een tekstindex maken voor de velden waarin u wilt zoeken. Laten we zeggen dat we een collectie hebben met de naam “boeken” en we willen zoeken in het veld “titel”. We kunnen een index maken met behulp van de volgende opmaak:
db.boeken.createIndex({ titel: “text” })Stap 2: Gebruik de $text-operator om te zoeken
Nu u een tekstindex heeft, kunt u de $text-operator gebruiken om een zoekopdracht uit te voeren. Bijvoorbeeld, als u alle boeken wilt vinden waarvan de titel het woord “Mongodb” bevat, zou u de volgende opdracht gebruiken:
db.boeken.find({ $text: { $search: “Mongodb” } })Dit retourneert alle documenten in de collectie “boeken” waarvan de titel het woord “Mongodb” bevat.
Merk op dat de zoekopdracht hoofdletter ongevoelig is.
Optioneel – Gebruik de $caseSensitive-optie om hoofdlettergevoeligheid aan te geven
Als u op hoofdletters wilt letten bij het zoeken, kunt u de $caseSensitive-optie gebruiken en deze instellen op true. Bijvoorbeeld:
db.boeken.find({ $text: { $search: “Mongodb”, $caseSensitive: true } })Dit retourneert alle documenten waarvan de titel precies overeenkomt met “Mongodb”, inclusief hoofdletters.