在Spring Data MongoDB中,查询参数的替换通常是通过?0
,?1
,?2
等进行的,其中数字表示参数的索引位置。如果你发现查询参数?0
没有被替换,可能是以下几个原因:
?0
,?1
等占位符一一对应。例如,如果你的查询中有?0
和?1
,那么你的方法应该有两个参数。@Query
注解,确保你没有误用其他的注解,例如@Param
。在Spring Data MongoDB中,方法参数会按照它们在方法签名中的顺序被替换,而不是根据@Param
注解。以下是一个正确使用@Query
注解的例子:
public interface UserRepository extends MongoRepository<User, String> {
@Query("{ 'name' : ?0 }")
List<User> findUsersByName(String name);
}
在这个例子中,?0
会被替换为findUsersByName
方法的第一个参数。
领取专属 10元无门槛券
手把手带您无忧上云