MongoDB: Is it possible to make a case-insensitive query?

后端 未结 24 2100
谎友^
谎友^ 2020-11-22 04:44

Example:

> db.stuff.save({\"foo\":\"bar\"});

> db.stuff.find({\"foo\":\"bar\"}).count();
1
> db.stuff.find({\"foo\":\"BAR\"}).count();
0

24条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-22 05:26

    You could use a regex.

    In your example that would be:

    db.stuff.find( { foo: /^bar$/i } );
    

    I must say, though, maybe you could just downcase (or upcase) the value on the way in rather than incurring the extra cost every time you find it. Obviously this wont work for people's names and such, but maybe use-cases like tags.

提交回复
热议问题