UPDATE: Come di MongoDB 2.4 si potrebbe usare un indice "testo" e query di ricerca full text per fare ciò. Puoi leggere su di loro here. Se si utilizza un recente MongoDB, l'approccio sotto sarebbe sciocco e non necessario.
Tuttavia, se si dispone di MongoDB < 2.4.0 si potrebbe usare un'espressione regolare in questo modo:
> db.reg.insert({searchword: "win"})
> db.reg.insert({searchword: "window"})
> db.reg.insert({searchword: "Win"})
> db.reg.find()
{ "_id" : ObjectId("4ecd2e33dd68c9021e453d12"), "searchword" : "win" }
{ "_id" : ObjectId("4ecd2e36dd68c9021e453d13"), "searchword" : "window" }
{ "_id" : ObjectId("4ecd2e39dd68c9021e453d14"), "searchword" : "Win" }
> db.reg.find({ searchword: /^win$/i })
{ "_id" : ObjectId("4ecd2e33dd68c9021e453d12"), "searchword" : "win" }
{ "_id" : ObjectId("4ecd2e39dd68c9021e453d14"), "searchword" : "Win" }
Tuttavia, la versione non funzionava perché non è necessario il "/" s quando utilizzando l'operatore di $ regex:
> db.reg.find({ searchword: { $regex: "^win$", $options: '-i' }})
{ "_id" : ObjectId("4ecd2e33dd68c9021e453d12"), "searchword" : "win" }
{ "_id" : ObjectId("4ecd2e39dd68c9021e453d14"), "searchword" : "Win" }
prega di notare che le query caso insensibili non utilizzare l'indice in modo che potrebbe avere senso per fare un campo Searchword minuscolo in modo da poter accelerare quella query su.
Go here per più informazioni RegularExpressions
fonte
2011-11-23 17:36:14
Grazie ..... ha funzionato per me – Praneeta