java使用mongodb数据库的方法

  介绍

这篇文章主要介绍了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集合,执行以下命令:

java使用mongodb数据库的方法