MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment trouver une sous-chaîne dans un champ dans Mongodb

Au lieu de cela :

db.database.find({A: {$regex: '/^*(abc def)*$/''}})

Vous devriez faire ceci :

db.database.find({A: /abc def/i })

^* n'est pas réellement une syntaxe valide car ^ et $ sont des ancres et non quelque chose de répétable. Vous vouliez probablement dire ^.* ici. Mais il n'y a pas besoin de ^.* car cela signifie simplement "Tout jusqu'au caractère suivant" et (abc def)* signifie "0 fois ou plus "abc def", mais il doit être à la fin de la chaîne, à cause de votre $. Le "i" à la fin sert à le rendre insensible à la casse.