0
点赞
收藏
分享

微信扫一扫

Java中对MonggoDb的操作

SpringBoot 中引入依赖请参考《鱼有梦想吗》上篇文章:

SpringBoot 集成MonggoDb 依赖问题分析

Java中对MonggoDb的操作_增删改查

一、获取MongoClient

private static MongoClient getMongoClient(String url){
    ConnectionString connString = new ConnectionString(url);
    MongoClientSettings settings = MongoClientSettings.builder()
            .applyConnectionString(connString)
            .retryWrites(true)
            .build();
    MongoClient mongoclient = MongoClients.create(settings);
    return mongoclient;
}

二、创建数据库,创建集合:mongoclient.getDatabase(String basename);

此方法,如果指定名称的库不存在,则会自动创建。

String url="mongodb://localhost:27017";
MongoClient mongoclient = getMongoClient(url);
//创建数据库
MongoDatabase database = mongoclient.getDatabase("test");
//创建集合
database.createCollection("test3333");

Java中对MonggoDb的操作_mongodb_02

二、删除数据库:database.drop()

String url="mongodb://localhost:27017";
MongoClient mongoclient = getMongoClient(url);
//创建数据库
MongoDatabase database = mongoclient.getDatabase("test");
//删除数据库
database.drop();

Java中对MonggoDb的操作_增删改查_03

三、获取指定数据库中的集合列表:database.listCollectionNames()

Java中对MonggoDb的操作_增删改查_04

Java中对MonggoDb的操作_增删改查_05

四、删除集合:database.getCollection(String collectionName).drop();

//删除dept集合
database.getCollection("dept").drop();
MongoIterable<String> list = database.listCollectionNames();
for (String name : list) {
    System.out.println(name);
}

Java中对MonggoDb的操作_增删改查_06

五、集合中保存数据

MongoCollection<Document> collection = database.getCollection("empl");
Document document = new Document("name", "小王")
        .append("description", "测试人员")
        .append("likes", "读书")
        .append("age", 20);
collection.insertOne(document);

Java中对MonggoDb的操作_增删改查_07

六、集合中查询数据

// 检索集合
MongoCollection<Document> collection = database.getCollection("empl");
// 获取 iterable 对象
FindIterable<Document> iterDoc = collection.find();
// 获取迭代器
for (Document document : iterDoc) {
    System.out.println(document);
}

Java中对MonggoDb的操作_增删改查_08

七、更新集合中的数据

// 检索集合
MongoCollection<Document> collection = database.getCollection("empl");
//更新读书为看电影
collection.updateMany(Filters.eq("name", "小王"), Updates.set("likes", "看电影"));
// 获取 iterable 对象
FindIterable<Document> iterDoc = collection.find();
// 获取迭代器
for (Document document : iterDoc) {
    System.out.println(document);
}

Java中对MonggoDb的操作_mongodb_09

八、删除集合中的数据

// 检索集合
MongoCollection<Document> collection = database.getCollection("empl");
//删除名称为小王的数据
collection.deleteOne(Filters.eq("name", "小王"));
// 获取 iterable 对象
FindIterable<Document> iterDoc = collection.find();
// 获取迭代器
for (Document document : iterDoc) {
    System.out.println(document);
}

Java中对MonggoDb的操作_java操作MonggoDb_10

说明:代码中引入的类为

import com.mongodb.ConnectionString;
import com.mongodb.MongoClientSettings;
import com.mongodb.client.*;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;
import org.bson.Document;


举报

相关推荐

0 条评论