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.