Вы можете использовать regex .
В вашем примере это будет:
db.stuff.find( { foo: /^bar$/i } );
Я должен сказать, хотя, может быть, вы могли бы просто (или вверху) значение на пути, а не приносить дополнительную стоимость каждый раз, когда вы его находите. Очевидно, что это не будет работать для имен людей и т. Д., Но, может быть, таких случаев, как теги.
Один из способов выяснить это - использовать spring.jpa.hibernate.ddl-auto=create
, это создаст таблицу с именем student
в вашей базе данных на основе вашего текущего класса сущностей. Я подозреваю, что ваша таблица student
содержит заглавные буквы? Потому что hibernate неявно отображает имя вашей таблицы, скажем, @Table(name = "MyTable")
, на my_table
. Скажем, у вас есть @Table(name="Student")
и ваша таблица в вашей базе данных называется Student
. Предполагая, что Hibernate 5, вам нужно переопределить ImplicitNamingStrategy Hibernate, установив spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
. Или вы можете предоставить свой собственный, для справки: https://www.baeldung.com/hibernate-naming-strategy