UPDATE : Ab MongoDB 2.4 würde man dazu einen "Text" -Index und eine Volltextsuchabfrage verwenden. Sie können über sie lesen hier . Wenn Sie eine aktuelle MongoDB verwenden, wäre der folgende Ansatz albern und unnötig.
Wenn Sie jedoch MongoDB <2.4.0 haben, können Sie einen regulären Ausdruck wie folgt verwenden:
> 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" }
Ihre Version funktionierte jedoch nicht, da Sie bei Verwendung des Operators $ regex keine "/" benötigen:
> db.reg.find({ searchword: { $regex: "^win$", $options: '-i' }})
{ "_id" : ObjectId("4ecd2e33dd68c9021e453d12"), "searchword" : "win" }
{ "_id" : ObjectId("4ecd2e39dd68c9021e453d14"), "searchword" : "Win" }
Beachten Sie, dass bei Abfragen ohne Berücksichtigung der Groß- und Kleinschreibung der Index nicht verwendet wird. Daher ist es möglicherweise sinnvoll, ein Suchwortfeld in Kleinbuchstaben zu erstellen, damit Sie diese Abfrage beschleunigen können.
Gehen Sie hier für weitere Informationen über Regular