sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo encontrar una subcadena en un campo en Mongodb

En lugar de esto:

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

Deberías hacer esto:

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

^* en realidad no es una sintaxis válida ya que ^ y $ son anclas y no algo que se pueda repetir. Probablemente quisiste decir ^.* aquí. Pero no hay necesidad de ^.* ya que simplemente significa "Todo hasta el siguiente carácter" y (abc def)* significa "0 o más veces "abc def", pero tiene que estar al final de la cadena, debido a su $. La "i" al final es para que no distinga entre mayúsculas y minúsculas.