MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come trovare una sottostringa in un campo in Mongodb

Invece di questo:

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

Dovresti fare questo:

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

^* non è effettivamente una sintassi valida poiché ^ e $ sono ancore e non qualcosa che è ripetibile. Probabilmente intendevi ^.* qui. Ma non è necessario ^.* poiché significa semplicemente "Tutto fino al carattere successivo" e (abc def)* significa "0 o più volte "abc def", ma deve essere alla fine della stringa, a causa del tuo $. La "i" alla fine serve a non fare distinzione tra maiuscole e minuscole.