java如何访问mongodb
使用 Java 访问 MongoDB
添加 MongoDB 驱动依赖
在 Maven 项目中,添加 MongoDB 的 Java 驱动依赖到 pom.xml 文件:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.11.0</version>
</dependency>
创建 MongoDB 客户端连接
通过 MongoClients.create() 方法建立与 MongoDB 的连接:
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
String connectionString = "mongodb://localhost:27017";
MongoClient mongoClient = MongoClients.create(connectionString);
访问数据库和集合
使用客户端获取数据库和集合对象:
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
MongoDatabase database = mongoClient.getDatabase("testDB");
MongoCollection<Document> collection = database.getCollection("testCollection");
插入文档
向集合中插入一个文档:
Document doc = new Document("name", "John Doe")
.append("age", 30)
.append("email", "john@example.com");
collection.insertOne(doc);
查询文档
查询集合中的所有文档:
for (Document document : collection.find()) {
System.out.println(document.toJson());
}
更新文档
更新集合中的文档:
collection.updateOne(
Filters.eq("name", "John Doe"),
Updates.set("age", 31)
);
删除文档
删除集合中的文档:
collection.deleteOne(Filters.eq("name", "John Doe"));
关闭连接
操作完成后关闭客户端连接:
mongoClient.close();
使用 Spring Data MongoDB
如果使用 Spring Boot,可以集成 Spring Data MongoDB 简化操作。
添加依赖
在 pom.xml 中添加 Spring Data MongoDB 依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
配置连接
在 application.properties 中配置 MongoDB 连接:
spring.data.mongodb.uri=mongodb://localhost:27017/testDB
定义实体和仓库
创建实体类并定义仓库接口:
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "users")
public class User {
@Id
private String id;
private String name;
private int age;
// getters and setters
}
import org.springframework.data.mongodb.repository.MongoRepository;
public interface UserRepository extends MongoRepository<User, String> {
User findByName(String name);
}
使用仓库操作数据
通过仓库进行数据操作:

@Autowired
private UserRepository userRepository;
public void saveUser(User user) {
userRepository.save(user);
}
public User findUserByName(String name) {
return userRepository.findByName(name);
}
注意事项
- 确保 MongoDB 服务已启动并监听指定端口。
- 在生产环境中使用连接池和适当的错误处理。
- 对于复杂查询,可以使用聚合管道或索引优化性能。






