一、连接的核心原理
1、使用 MongoClient 获取连接对象
2、使用 MongoDatabase 获取数据库
3、使用 MongoCollection 获取集合
二、代码演示插入文档、查询文档
package com.itcast.mongodb;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class ConnectToMongoDB {
public static void main(String[] args) {
// 1、获取MongoDB服务器的连接——创建 MongoDB 客服端,连接到MongoDB服务器,要指定ip地址、端口号
MongoClient mongoClient = new MongoClient( "192.168.10.110" , 27017 );
// 2、获取数据库——用连接到服务器的客户端对象获取其中的数据库
// 连接到某个数据库,要指定数据库名字(articledb)
MongoDatabase myDatabase = mongoClient.getDatabase("articledb");
System.out.println("连接数据库成功…………");
System.out.println("当前连接数据库名字:" + myDatabase.getName());
// 3、获取集合——进入数据库后,可以切换至集合,指定集合名字(Student)
MongoCollection Student = myDatabase.getCollection("Student");
// 4、插入一条文档
// 4-1 创建文档内容
Document Scofield = new Document();
Document score = new Document("English",45).append("Math",89).append("Computer",100);
Scofield.put("name","scofield");
Scofield.put("score",score);
// 4-2 调用插入函数,把内容放入集合中
Student.insertOne(Scofield);
// 5、查看集合信息
FindIterable<Document> documents1 = Student.find();
for (Document document : documents1){
System.out.println(document);
}
// 6、获取文档中name为scofield的score文档
FindIterable<Document> documents = Student.find();
for (Document document : documents){
String name = (String)document.getString("name"); //getString()可以获取指定key的值,但是不能获取文档
if( name.equals("scofield") ){ //把指定key获取的值与想要找的值比较,这里不能用等于==,会无效。只能用equals()
System.out.println(document.get("score")); //get()可以获取文档的数据,
}
}
// 7、关闭连接
mongoClient.close();
}
}