MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como encontrar uma substring em um campo no Mongodb


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

Você deve fazer isso:
db.database.find({A: /abc def/i })

^* não é realmente uma sintaxe válida, pois ^ e $ são âncoras e não algo que pode ser repetido. Você provavelmente quis dizer ^.* aqui. Mas não há necessidade de ^.* pois isso significa simplesmente "Tudo até o caractere seguinte" e (abc def)* significa "0 ou mais vezes "abc def", mas tem que estar no final da string, por causa do seu $. O "i" no final é para não diferenciar maiúsculas de minúsculas.