> For the complete documentation index, see [llms.txt](https://jack80342.gitbook.io/spring-boot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jack80342.gitbook.io/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.2.-mongodb/30.2.3.-spring-data-mongodb-repositories.md).

# 30.2.3. Spring Data MongoDB仓库

Spring Data包含的仓库也支持MongoDB，正如上面讨论的JPA仓库，基于方法名自动创建查询是基本的原则。

实际上，不管是Spring Data JPA还是Spring Data MongoDB都共享相同的基础设施。所以你可以使用上面的JPA示例，并假设那个`City`现在是一个Mongo数据类而不是JPA `@Entity`，它将以同样的方式工作，如下所示：

```java
package com.example.myapp.domain;

import org.springframework.data.domain.*;
import org.springframework.data.repository.*;

public interface CityRepository extends Repository<City, Long> {

    Page<City> findAll(Pageable pageable);

    City findByNameAndCountryAllIgnoringCase(String name, String country);

}
```

**注** 你可以通过`@EntityScan`注解自定义文档扫描位置。

**注** 想详细了解Spring Data MongoDB，包括它丰富的对象映射技术，可以查看它的[参考文档](https://projects.spring.io/spring-data-mongodb/)。
