skip to Main Content

I want to make a text search case insensitive with regex query with spring-data mongo .

For example in SQL:

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';

How can i make this query with spring-data mongo using MongoRepository Query DSL ?

Thanks in advance

2

Answers


  1. public interface ProductRepository extends MongoRepository<Product, String> {
    
    @Query("{$or : [{'name': { $regex: ?0, $options:'i' }}, {'description': { $regex: ?0, $options:'i' }}]}")
    List<Product> findProductByRegexString(final String regexString);
    

    you can use query like that hope help you

    Login or Signup to reply.
  2. Here is the raw mongo query for your sql :

    db.Customers.find( { CustomerName: /^a/ } )

    or

    db.Customers.find( { CustomerName: { $regex: /^a/ } } )

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search