Statt dessen:
db.database.find({A: {$regex: '/^*(abc def)*$/''}})
Sie sollten dies tun:
db.database.find({A: /abc def/i })
^* ist keine wirklich gültige Syntax, da ^ und $ Anker sind und nicht etwas, das wiederholbar ist. Du meintest wahrscheinlich ^.* hier. Aber es gibt keine Notwendigkeit für ^.*, da dies einfach bedeutet "Alles bis zum folgenden Zeichen" und (abc def)* bedeutet "0 oder mehr mal "abc def", aber es muss am Ende der Zeichenfolge stehen, wegen deinem $. Das "i" am Ende soll Groß- und Kleinschreibung beachten.