MongoDB初探
今天在项目中遇到需要使用MongoDB的地方, 由于之前自己使用的是Redis,,没有使用过mongo,,当时心里也是一阵凉凉
好在现如今网上资源多, 能学习到很多知识..现将今天使用的情况作个记录,,以便以后使用.
我是用的官网最新版的3.9.1的驱动版本,,.
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>3.9.1</version> </dependency>
由于驱动版本比较新, 很多资料都有点不适配,,而且我用的是原生的方法,,没有使用mongoTemplate来进行操作
首先,,得像jdbc一样,,获取连接对象,如果远程mongo有加密,,则需要添加凭证
MongoCredential credential = MongoCredential.createCredential(MONGODB_USERNAME, MONGODB_DATABASE, MONGODB_PASSWORD.toCharArray()); MongoClient mongoClient = new MongoClient(new ServerAddress(MONGODB_IP,MONGODB_PORT), Arrays.asList(credential));
这样就已经成功通过用户名和密码获取到了mongo的连接,,而后则要获取需要操作的数据库和集合
DB db = mongoClient.getDB(MONGODB_DATABASE);
DBCollection dbin = db.getCollection(MONGODB_COLLECTION);
获取到集合也就相当于mysql中获得表了,,,然后就可以通过这个集合对其中的对象进行相应的操作,,如条件查询(查询所有对象中flag=false的对象):
DBCursor dbObjects = dbin.find(new BasicDBObject("flag","false"));
这里返回的是一个DBCursor对象,他其实是一个查询出来的结果集,可以对其进行遍历,遍历得到的对象是DBObject对象,,里边包含了每条记录的各种信息.
for (DBObject d:dbObjects){ System.out.println(d.toMap()); }
toMap()是DBObject的自带的方法,,可以将DBObject对象转换成map,,可以更好地进行操作;