MongoDB--Getting Started with Java Driver

时间:2023-03-09 05:41:50
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 为实例port号,默认启动port号为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();