步骤:
(1)连接
连接字符串
(2)CRUD
类与接口
解析
(3)maven管理方法
依赖
<dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-legacy</artifactId><version>4.10.2</version></dependency>
示例
package org.example;import com.mongodb.client.*;
import org.bson.Document;import java.util.Arrays;/*** @author gzb Email:a@wk2.cn* @since 2023/11/06 14:27*/
public class t1 {public static void main(String[] args) {MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");MongoDatabase mongoDatabase = mongoClient.getDatabase("myDB");MongoCollection<Document> collection = mongoDatabase.getCollection("video");System.out.println("before operation");insertExample(collection);System.out.println("after operation");FindIterable<Document> documents = collection.find();for (Document document: documents){System.out.println(document.toJson());}mongoClient.close(); // 记得关闭客户端连接}private static void insertExample(MongoCollection<Document> collection) {collection.insertMany(Arrays.asList(new Document("title", "MongoDB installation").append("author", "Mike").append("tags", Arrays.asList("MongoDB", "database")).append("views", 1221).append("evaluation", new Document("like", 22).append("forward", 10)),new Document("title", "Java programming ").append("author", "Mike").append("tags", Arrays.asList("Java", "course")).append("views", 3411).append("evaluation", new Document("like", 112).append("forward", 32)),new Document("title", "Music recommend").append("author", "Joe").append("tags", Arrays.asList("music", "pop")).append("views", 38).append("evaluation", new Document("like", 2))));}}
操作
插入
private static void insertExample(MongoCollection<Document> collection) {collection.insertMany(Arrays.asList(new Document("title", "MongoDB installation").append("author", "Mike").append("tags", Arrays.asList("MongoDB", "database")).append("views", 1221).append("evaluation", new Document("like", 22).append("forward", 10)),new Document("title", "Java programming ").append("author", "Mike").append("tags", Arrays.asList("Java", "course")).append("views", 3411).append("evaluation", new Document("like", 112).append("forward", 32)),new Document("title", "Music recommend").append("author", "Joe").append("tags", Arrays.asList("music", "pop")).append("views", 38).append("evaluation", new Document("like", 2))));}
删除
private static void delete(MongoCollection<Document> collection){collection.deleteMany(Filters.eq("author", "Joe"));}
更新
private static void update(MongoCollection<Document> collection) {collection.updateOne(new Document("title", "MongoDB installation").append("author", "Mike"),Updates.inc("views", 1));}
还有set,pop,push等操作
替换
private static void replace(MongoCollection<Document> collection) {collection.replaceOne(Filters.eq("author", "tom"), new Document("author", "jacky").append("count",2));}
查找
private static void select(MongoCollection<Document> collection) {Bson filter = Filters.gt("evaluation.like", 10);FindIterable<Document> documents = collection.find(filter);for (Document document : documents) {System.out.println(document.toJson());}}
分组
MongoCursor<Document> mongoCursor = collection.aggregate(Arrays.asList(Aggregates.match(Filters.empty()),Aggregates.group("$author", Accumulators.sum("count", 1)))).cursor();