首页 > 代码库 > MongoDB--Getting Started with Java Driver

MongoDB--Getting Started with Java Driver

原文链接

 http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/

 介绍


本文的目的是让你对如何使用Mongodb的java-driver驱动有一个简单的了解,当你阅读完本文你就可以参考其他文章以了解更多信息。


下载java-driver驱动

你可以在这里下载需要的驱动。


添加java-driver驱动

将下载的mongo-java-driver-2.12.3.jar 拷贝到你的lib目录下。

获取数据库对象


MongoClient mongoClient = new MongoClient( "localhost" , 5000 ); // 5000 为实例端口号,默认启动端口号为27017

DB db = mongoClient.getDB("mydb"); // 必须要先创建数据库

获取集合名称

Set<String> colls = db.getCollectionNames();

            for (String s : colls) {
                System.out.println(s);
            }

获取集合对象

            DBCollection coll = db.getCollection("blog");

获取集合文档数

            System.out.println(coll.getCount());

插入一个文档

            BasicDBObject doc = new BasicDBObject("name", "MongoDB")
            .append("type", "database")
            .append("count", 1)
            .append("info", new BasicDBObject("x", 203).append("y", 102));
            coll.insert(doc);

插入多个文档

           
            for (int i=0; i < 100; i++) {
                coll.insert(new BasicDBObject("i", i));
            }

使用游标查询满足条件的文档

    
            BasicDBObject query = new BasicDBObject("i", 71);

            DBCursor    cursor = coll.find(query);

            try {
               while(cursor.hasNext()) {
                   System.out.println(cursor.next());
               }
            } finally {
               cursor.close();
            }
            

            
            BulkWriteOperation builder = coll.initializeOrderedBulkOperation();
            builder.insert(new BasicDBObject("_id", 1));
            builder.insert(new BasicDBObject("_id", 2));
            builder.insert(new BasicDBObject("_id", 3));

更新已存在的文档

            builder.find(new BasicDBObject("_id", 1)).updateOne(new BasicDBObject("$set", new BasicDBObject("x", 2)));

删除已存在的文档

            builder.find(new BasicDBObject("_id", 2)).removeOne();
            builder.find(new BasicDBObject("_id", 3)).replaceOne(new BasicDBObject("_id", 3).append("x", 4));

            BulkWriteResult result = builder.execute();