MongoDB: Jak pobrać rekordy na podstawie ciągu znaków?

Opublikowano: 16.07.2022 - tagi: MongoDB Baza danych Zapytanie Tekst Szukanie Rekord

Mamy taką strukturę kolekcji z danymi:

[
	{ title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", amount: 10 },
	{ title: "Nunc fringilla posuere mi, lacinia vulputate magna lobortis nec", amount: 7 },
	{ title: "Etiam lacinia urna id felis vulputate ullamcorper", amount: 32 },
	{ title: "Aenean euismod sed lorem quis tempor.", amount: 50 }
]

I chcemy pobrać rekordy z kolekcji na podstawie jakiegoś fragmentu tekstu. Na przykład lorem:

db.collection.find({ title: /lorem/i })

W tym zapytaniu wykorzystujemy tutaj wyrażenie regularne. Dla tego zapytania pobierze dwa rekordy:

[
	{ title: "Lorem ipsum dolor sit amet, consectetur adipiscing elit", amount: 10 },
	{ title: "Aenean euismod sed lorem quis tempor.", amount: 50 }
]

Zauważ, że wykorzystujemy tutaj także flagę i ponieważ nie chcemy brać pod uwagę wielkości liter.