什么是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的横向扩展就很方便存储海量数据,因此这个数据库十分值得我们深入学习。