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,,可以更好地进行操作;

posted @ 2019-01-25 11:26  &傻小子  阅读(143)  评论(0编辑  收藏  举报