Java操作mongodb增删改查的基本操作实战指南

发布时间:2024-12-18 10:57

《指数基金定投实战手册》- 实战操作指南 #生活技巧# #理财投资建议# #理财书籍#

MongoDB是一个基于分布式文件存储的数据库,由c++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案,下面这篇文章主要给大家介绍了关于Java操作mongodb增删改查的基本操作实战指南,需要的朋友可以参考下

Java技术迷

一、什么是MongoDB?

MongoDB 是一个基于分布式文件存储的数据库。它是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富也是最像关系型数据库的。

MongDB优点:1.有很强的的扩展性;

                         2.支持多种编程语言;

                         3.面向文档存储,操作比较简单;

缺点:1.不支持事务;    2.不能进行多表联查;

二、MongoDB基本操作

1.产看所有库

2.创建库

注:如果库中没有数据,就会是一个虚拟库,查看库的时候不会显示该库

3.查看当前库

4.删除库(危险操作!一般不使用)

三.java操作MogoDB

在java中使用mongoDB之前,首先需要java连接mongoDB的第三方驱动包(通过在xml文件中添加依赖)

1.新增

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

public class AddDemo {

    public static void main(String[] args) {

        MongoClient mc = new MongoClient("localhost",27017);

        MongoDatabase db = mc.getDatabase("student");

        MongoCollection<Document> collection = db.getCollection("student");

        Document document = new Document();

        document.put("name", "周子舒");

        document.put("sex", "男");

        document.put("age", 18);

        document.put("birthday",new Date());

        collection.insertOne(document);

        Document document1= new Document();

        document1.put("name", "钟无艳");

        document1.put("sex", "女");

        document1.put("age", 18);

        document1.put("birthday",new Date());

        Document document2= new Document();

        document2.put("name", "貂蝉");

        document2.put("sex", "女");

        document2.put("age", 1);

        document2.put("birthday",new Date());

        ArrayList<Document> list = new ArrayList<Document>();

        list.add(document1);

        list.add(document2);

        collection.insertMany(list);

        mc.close();

    }

}

2.删除

删除某条单个数据时,使用 MongoCollection 对象的 deleteOne() 方法,该方法接收一个数据类型为 Bson 的的对象作为过滤器筛选出需要删除的文档。注意deleteOne() 方法只会删除表中满足删除条件的第一条数据。JDBC驱动程序提供了 Filters 类来为所有的MongoDB查询操作提供静态方法。每个方法返回的BSON类型。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

public void deleteOneTest(){

    public static void main(String[] args) {

        MongoClient mc = new MongoClient("localhost",27017);

        MongoDatabase db = mc.getDatabase("student");

        MongoCollection<Document> collection = db.getCollection("student");

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

        collection.deleteOne(filter);

        mc.close();

    }

}

1

2

3

4

Filters.eq()  

Filters.gt()  

Filters.gte()  

Filters.lt()  

删除多条数据, 使用 MongoCollection 对象的 deleteMany() 方法,该方法会将匹配到的所有数据全部删除。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

public class DeleteDemo {

    public static void main(String[] args) {

        MongoClient mc = new MongoClient("localhost",27017);

        MongoDatabase db = mc.getDatabase("student");

        MongoCollection<Document> collection = db.getCollection("student");

        Bson gt=Filters.gt("age", 100);

        DeleteResult deleteMany = collection.deleteMany(gt);

        System.out.println(deleteMany);

        mc.close();

    }

}

3.修改

修改单个数据,使用 MongoCollection 对象的 updateOne() 方法,该方法接收两个参数,第一个数据类型为 Bson 的过滤器筛选出需要修改的文档,第二个参数数据类型为 Bson 指定如何修改筛选出的文档。然后修改过滤器筛选出的第一个文档。

修改多条数据,使用 MongoCollection 对象的 updateMany() 方法,也要接受两个参数,第一个是修改条件,第二是修改后的数据。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

public class UpdateDemo {

    public static void main(String[] args) {

                MongoClient mc = new MongoClient("localhost",27017);

                MongoDatabase db = mc.getDatabase("student");

                MongoCollection<Document> collection = db.getCollection("student");

                Bson and=Filters.and(Filters.gt("age",20),Filters.lte("age", 100));

                UpdateResult updateMany = collection.updateMany(and, new Document("$inc",new Document("age",100)));

                System.out.println(updateMany);

                mc.close();

    }

}

4.查询

查询方式较多,分别为:

1.模糊查询

1

Bson b=Filters.regex("name","张");

2.分页查

1

FindIterable<Document> b=collection.find().skip(0).limit(3);

3.排序查询

1

2

Bson b=new Document("id",-1);

FindIterable<Document> d=collection.find().sort(b);

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

public class SelectDemo {

    public static void main(String[] args) {

        MongoClient mc = new MongoClient("localhost",27017);

        MongoDatabase db = mc.getDatabase("student");

        MongoCollection<Document> collection = db.getCollection("student");

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

                Document document = new Document("birthday",-1);

                FindIterable<Document> find = collection.find(eq).sort(document);

                List<Student>  slist = new ArrayList<Student>();

                MongoCursor<Document> iterator = find.iterator();

                while(iterator.hasNext()) {

                    Student s =  new Student();

                    Document next = iterator.next();

                    s.setSname(next.getString("name"));

                    s.setSsex(next.getString("sex"));

                    s.setSid(next.getInteger("sid"));

                    slist.add(s);

                }

                for(Student ss : slist){

                    System.out.println(ss);

                }

                mc.close();

    }

}

总结

到此这篇关于Java操作mongodb增删改查的基本操作的文章就介绍到这了,更多相关Java操作mongodb增删改查内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

java连接mongoDB并进行增删改查操作实例详解Java连接MongoDB进行增删改查的操作java连接Mongodb实现增删改查mongodb增删改查详解_动力节点Java学院整理Java springboot Mongodb增删改查代码实例

原文链接:https://blog.csdn.net/acccco/article/details/127171331

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!

网址:Java操作mongodb增删改查的基本操作实战指南 https://www.yuejiaxmz.com/news/view/508182

相关内容

mongodb实现简单的增删改查
UniApp开发中的数据库操作指南 (uniapp 数据库)
JDBC之——PreparedStatement实现对数据库的增删改操作
Android开发实战:基于Java的日程管理日历应用设计与实现
厨房安全操作指南.docx
Java技能提升指南
Linux常用指令操作VlOG篇(长期更新。。。。)
揭秘Java框架私活:实战技巧与职场生存指南
基于java的家教系统设计与实现
Java实现电子钱包系统:从基础架构到安全支付的全面指南

随便看看