一、MongoDB是什么?
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
二、准备工作
当然是先下载mongoDB的驱动啦。由于我使用maven来构建项目,所以只需在pox.xml文件中加入mongoDB的依赖即可。
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.13.2</version>
</dependency>
</dependencies>
三、如何使用
1、使用MongoClient连接MongoDB
MongoClient mongoClient = new MongoClient("localhost", 27017);
DB db = mongoClient.getDB("mydb");
需要指出的是,MongoClient是线程安全的,可以在多程程环境中共享同一个MongoClient。通常来说,一个应用程序中,只需要生成一个全局的MongoClient实例,然后在程序的其他地方使用这个实例即可。
2、认证
MongoDB认证的方式很多,这里介绍两种方式。即MongoCredential和MongoClientURI
2.1、MongoCredential
MongoCredential类的createCredential方法可以指定认证的用户名,密码,以及使用的数据库,并返回一个MongoCredential对象。例如:
MongoCredential credential = MongoCredential.createCredential("user", "mydb", "password".toCharArray());
ServerAddress serverAddress = new ServerAddress("localhost", 27017);
MongoClient mongoClient = new MongoClient(serverAddress, Arrays.asList(credential));
DB db = mongoClient.getDB("mydb");
2.2、MongoClientURI
String sURI = String.format("mongodb://%s:%s@%s:%d/%s", "user", "password", "localhost", 27017, "mydb");
MongoClientURI uri = new MongoClientURI(sURI);
MongoClient mongoClient = new MongoClient(uri);
DB db = mongoClient.getDB("mydb");
3、集合操作
3.1、获取集合
DBCollection coll = db.getCollection("mycol");
3.2、插入文档
BasicDBObject doc = new BasicDBObject("name", "mongo").append("info", new BasicDBObject("ver", "3.0"));
coll.insert(doc);
3.3、查找单个文档
DBObject myDoc = coll.findOne();
System.out.println(myDoc);
3.4、查找所有文档
DBCursor cursor = coll.find();
try {
while(cursor.hasNext()) {
System.out.println(cursor.next());
}
} finally {
cursor.close();
}
3.5、指定查询条件
BasicDBObject query = new BasicDBObject("i", 71);
DBCursor cursor = coll.find(query);
try {
while(cursor.hasNext()) {
System.out.println(cursor.next());
}
} finally {
cursor.close();
}
3.6、更新文档
BasicDBObject query = new BasicDBObject("i", 70);
BasicDBObject up = new BasicDBObject("$set", new BasicDBObject("i", 100));
coll.update(query, up);
3.7、删除文档
BasicDBObject query = new BasicDBObject("i", 71);
coll.remove(query);
最后修改:2019-03-14 14:21:12
© 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

发表评论