这篇文章主要介绍了java使用mongodb数据库的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
mongodb是当今非常流行的一款NoSQL数据库,本文介绍如何使用mongodb的java驱动来操作mongodb。
<强>一、引入mongodb java驱动程序包强>
如果需要操作mongodb的java项目是一个Maven项目,可以在依赖中加上以下的配置。
& lt; dependencies> ,,,& lt; dependency> ,,,,,,,& lt; groupId> org.mongodb ,,,,,,,& lt; artifactId> mongo-java-driver ,,,,,,,& lt; version> 2.13.2 ,,,& lt;/dependency> & lt;/dependencies>
或者通过直接下载jar包的方式使用,下载地址:mongo-java-driver-2.13.2。jar .
详细的如何引入MongoDB jar包的方法可以参考官方文档。
<强>二,连接MongoDB 强>
可以使用MongoClient来连接MongoDB, MongoClient的使用方式如下:
MongoClient MongoClient =, new MongoClient (“localhost",, 27017); DB DB =, mongoClient.getDB (“mydb");
上面的代码连接了localhost: 27017上MongoDB服务,并指定使用mydb数据库。连接后便可以对这个数据库作进一步的操作。
需要指出的是,MongoClient是线程安全的,可以在多线程环境中共享同一个MongoClient。通常来说,一个应用程序中,只需要生成一个全局的MongoClient实例,然后在程序的其他地方使用这个实例即可。
<强>三,认证强>
可以使用多种方式对连接进行认证、下面介绍两种方式。
1。方式一:MongoCredential
MongoCredential类的createCredential方法可以指定认证的用户名:密码,以及使用的数据库,并返回一个MongoCredential对象。其方法的声明如下:
static MongoCredential createCredential ( String 用户名,String 数据库,char[],密码)
例如:
MongoCredential credential =, MongoCredential.createCredential ( “user",,“mydb",,“password" .toCharArray ());
上面创建了一个用户名为用户,密码为密码,数据库为mydb的MongoCredential对象。
将生成MongoCredential的对象作为MongoClient构造函数的参数。由于MongoClient构造函数的为List
完整的认证的例子如下:
MongoCredential credential =, MongoCredential.createCredential ( “user",,“mydb",,“password" .toCharArray ()),, ServerAddress ServerAddress =, new ServerAddress (“localhost",, 27017),, MongoClient MongoClient =, new MongoClient (serverAddress, arrays . aslist(凭证),, DB DB =, mongoClient.getDB (“mydb");
2。方式二:MongoClientURI
亦可以使用MongoClientURI完成MongoDB的认证,它代表了一个URI对象.MongoClientURI的构造函数接受一个字符串类型的字符串,这个字符串的格式如下:
MongoDB://(用户名:password@) host1[:端口1][,host2:端口2,…[,hostN [: portN]]][[数据库][吗?选项]]
生成的MongoClientURI对象作为MongoClient构造函数的参数,完整的认证例子如下:
String sURI =, String.format ( “mongodb://% s: % s@ % s: % d/% s",,“user",,“password",,“localhost",, 27017年,“mydb"),, MongoClientURI uri =, new MongoClientURI(苏瑞);, MongoClient MongoClient =, new MongoClient (uri),, DB DB =, mongoClient.getDB (“mydb");
<强>四,获取一个集合强>
DBCollection coll =, db.getCollection (“mycol");
然后可以对指定的集合进行操作,例如,插入,删除,查找,更新文档等。
<强>五、插入文档强>
例如,一个文档以Json来表示如下:
{,“名字”:“mongo”,“信息”:,{,“版本”:“3.0”,},}
现在需要插入到集合mycol中。为了插入到集合中,可以使用BasicDBObject构造一个文档。
BasicDBObject doc =, new BasicDBObject (“name",,“mongo") .append ( “info",, new BasicDBObject (“ver",,“3.0“)); coll.insert (doc);
<强>六、查找文档强>
1。通过findOne查找一个符合条件文档
通过findOne可以查找一个符合条件的文档,例如,对于上面的mycol集合,执行以下命令: