Java09-MongoDb在Java的实践

MongoDB是一款NoSQL类型的数据库,以文档、集合为数据模型,支持面向对象的数据结构。本文介绍了MongoDB的特点、常用操作,如连接数据库、创建集合、插入、查询、更新和删除数据,并提供了Java中的CRUD方法示例,适合初学者快速上手。
摘要由CSDN通过智能技术生成

什么是MongoDB

概念:MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。

特点:1. MongoDB是NoSQL类型的数据库

           2.MongoDB提出的是文档、集合的概念,使用BSON(类JSON)作为其数据模型结构,其结构是面向对象的而不是二维表。

           3.数据模型因为是面向对象的,所以可以表示丰富的、有层级的数据结构,简单的说,我们在MgngoDB中不会像表一样有字段,而是用类似键值对的方式随意的添加自己想要的数据,图1和图2是MangoDB中数据在视图软件的两种形式,我们可以看到每一条数据都是独立的。

图1. 类似表的形式(只是方便查看) 

图2. JSON的形式

从以上看到,MongoDB不存在表的概念,所以如果数据的内容十分多变,可以使用这个数据库。

准备工作:在使用MongoDB的时候,我们需要去官网下载它的Jar包。

MongoDB在Java中的常用方法

1.链接数据库的方法

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

2.访问具体数据库,如果没有自动建立

MongoDatabase database = mongo.getDatabase("myDb");

图4 链接和访问数据库

3. 创建一个集合,这个集合类比于Mysql的表,里面存货一条条数据

        图5.简单的全查

MongoCollection<Document> collection = database.createCollection("自定义名");

4. 查看一个数据集合,或者我们可以在java层转换成构造器去变量

FindIterable<Document> list = collection.find();
        
MongoCursor<Document> iterator = stulist.iterator()

5. 插入和保存一条数据

Document document = new Document("键1", "值1").append("键2", "值2");

collection.insertOne(document);

我们可以一直用apppend一直加键值对。最后将数据插入到数据库中

6. 我们也可以更新一条数据 

collection.updateOne(Filters.eq("键1",值1 ), Updates.set("新的键1", 值1));

7.删除一条数据

collection.deleteOne(Filters.eq("键1", "值1"));

8.删除集合

collection.drop();

以上就是MongoDB在java中常用的CRUD方法以及对集合的简单操作。我们可以看出,MgongoDB的方法很灵活,如果不存在数据库就自动建,如果没有集合也自动建。

MongoDB的其它方法

1 show dbs         //查询所有数据库
 2 show collections        //显示所有表
 3 db.stats()        //显示数据库状态信息
 4 db.numbers.stats()        //显示集合表状态信息
 5 db,shutdownServer()        //停止数据库
6 db.help()        //获取数据库操作命令
7 db.foo.help()          //获取表操作命令
8 tab 键         //能自动帮我们补全命令
9 db.numbers.ensureIndex({num:1})        //创建一个升序索引
10 db.numbers.getIndexes()        //获取全部索引

总结

MongoDB是现在越来越受欢迎的数据库,像Mysql一张表可以储存20万的数据,但是对于有些情况还是不够用,因此我们要考虑分库分页。但是MongoDB的横向扩展就很方便存储海量数据,因此这个数据库十分值得我们深入学习。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值