Istället för detta:
db.database.find({A: {$regex: '/^*(abc def)*$/''}})
Du bör göra så här:
db.database.find({A: /abc def/i })
^* är faktiskt inte giltig syntax eftersom ^ och $ är ankare och inte något som är repeterbart. Du menade förmodligen ^.* här. Men det finns inget behov av ^.* eftersom det helt enkelt betyder "Allt upp till det tecken som följer" och (abc def)* betyder "0 eller fler gånger "abc def", men det måste vara i slutet av strängen, på grund av din $. "I" i slutet är för att göra det skiftlägesokänsligt.