5.0 Java API操作mongoDB

pom.xml:

<dependency>

    <groupId>org.mongodb</groupId>

    <artifactId>mongodb-driver</artifactId>

    <version>3.10.0</version>

</dependency>

MongoUtils:

public class MongoUtils {

    //不通过认证获取连接数据库对象

    public static MongoDatabase getConnect(){

        //连接到 mongodb 服务

        MongoClient mongoClient = new MongoClient("192.168.227.6", 27017);

 

        //连接到数据库

        MongoDatabase mongoDatabase = mongoClient.getDatabase("test");

 

        //返回连接数据库对象

        return mongoDatabase;

    }

    //需要密码认证方式连接

    public static MongoDatabase getConnect2(){

        List<ServerAddress> adds = new ArrayList<ServerAddress>();

        //ServerAddress()两个参数分别为 服务器地址 和 端口

        ServerAddress serverAddress = new ServerAddress("192.168.227.6", 27017);

        adds.add(serverAddress);

 

        List<MongoCredential> credentials = new ArrayList<MongoCredential>();

        //MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码

        MongoCredential mongoCredential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());

        credentials.add(mongoCredential);

 

        //通过连接认证获取MongoDB连接

        MongoClient mongoClient = new MongoClient(adds, credentials);

 

        //连接到数据库

        MongoDatabase mongoDatabase = mongoClient.getDatabase("test");

 

        //返回连接数据库对象

        return mongoDatabase;

    }

}

MongoTest:

public class MongoTest {

    /**

    * 插入数据

    */

    public static void insertData(){

        MongoCollection<Document> collection =MongoUtils.getConnect().getCollection("user");

        System.out.println("获取集合成功");

        Document document = new Document("name", "张三").

        append("sex", "男").

        append("age", 18);

        //插入一条数据

        collection.insertOne(document);

        //插入多条数据

        // List<Document> documents = new ArrayList<Document>();

        // documents.add(document);

        // collection.insertMany(documents);

        System.out.println("数据插入成功");

    }

 

    /**

    * 删除数据

    */

    public static void deleteData(){

        //获取数据库连接对象

        MongoDatabase mongoDatabase = MongoUtils.getConnect();

        //获取集合

        MongoCollection<Document> collection = mongoDatabase.getCollection("user");

        //申明删除条件

        Bson filter = Filters.eq("age",18);

        //删除与筛选器匹配的单个文档

        collection.deleteOne(filter);

        //删除与筛选器匹配的所有文档

        // collection.deleteMany(filter);

    }

 

    /**

    * 修改数据

    */

    public static void updateData(){

        //获取数据库连接对象

        MongoDatabase mongoDatabase = MongoUtils.getConnect();

        //获取集合

        MongoCollection<Document> collection = mongoDatabase.getCollection("user");

        //修改过滤器

        Bson filter = Filters.eq("name", "张三");

        //指定修改的更新文档

        Document document = new Document("$set", new Document("age", 100));

        //修改单个文档

        collection.updateOne(filter, document);

        //修改多个文档

        // collection.updateMany(filter, document);

    }

 

    /**

    * 查询数据

    */

    public static void findData(){

        //获取数据库连接对象

        MongoDatabase mongoDatabase = MongoUtils.getConnect();

        //获取集合

        MongoCollection<Document> collection = mongoDatabase.getCollection("user");

        //指定查询过滤器

        // Bson filter = Filters.eq("name", "张三");

        //查找集合中的所有文档

        FindIterable findIterable = collection.find();

        MongoCursor cursor = findIterable.iterator();

        while (cursor.hasNext()) {

            System.out.println(cursor.next());

        }

    }

    public static void main(String[] args) {

        findData();

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值