• java客户端连接MongoDB数据库的简单使用


    1、下载mongoDB的jar包,并引入到工程的CLASSPATH中下载:mongodb2.5驱动包下载

    如果使用maven项目,最新的依赖如下:

    <dependency>
       <groupId>org.mongodb</groupId>
       <artifactId>mongodb-driver</artifactId>
       <version>3.2.0</version>
    </dependency>

    需要特别注意的是如果工程不是maven项目而是通过引入jar包的方式,那么在mongdb3.X之后,除了要引入mongo-java-driver之外,还需要手动引入bson和mongo-java-core的两个jar包,因为driver依赖这两个包,而且版本最好要一致,不然会报各种找不到jar包的错误。而如果是工程是maven项目那么就只需要引入mongodb的driver依赖即可,maven会自动去下载bson和mongo-java-core的依赖jar包。如下截图所示:

    2、链接mongoDB服务器,并选择数据库
    要建立MongoDB的连接,你只要指定要连接到的数据库就可以。这个数据库不一定存在,如果不存在,MongoDB会先为你建立这个库。同时,在连接时你也可以具体指定要连接到的网络地址和端口:
    Mongo m = new Mongo();
    // 或者
    Mongo m = new Mongo( "localhost" );
    // 或者
    Mongo m = new Mongo( "localhost" , 27017 );
    // 或者, to connect to a replica set, supply a seed list of members
    Mongo m = new Mongo(Arrays.asList(new ServerAddress("localhost", 27017), 
                 new ServerAddress("localhost", 27018), 
                 new ServerAddress("localhost", 27019))); 
    DB db = m.getDB("mydb" ); 

    3、安全验证(可选)

     boolean auth = db.authenticate(userName, password);

    4、获取集合列表。每个数据库都存在零个或多个集合,需要时你可以获得他们的列表:

    Set<String> colls = db.getCollectionNames();
    
    for (String s : colls) {
        System.out.println(s);
    }

    5、获得一个集合。要获得某个特定集合,你可以指定集合的名字,并使用getCollection()方法:

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

    6、插入文档

    mongodb存储JSON格式的文档,而在Java中表示这种数据格式的最简便的类就是Map了。MongoDB Java Driver中提供的BasicDBObject就是个Map(它继承自LinkedHashMap并实现DBObject接口),它会将Map中的数据转换成BSON格式传输到mongodb。

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

    mongodb中每个插入的文档会产生个唯一标识_id。当调用coll.insert(doc);时,driver会检查其中是否有_id字段,如果没有则自动生成ObjectId实例来作为_id的值,这个ObjectId由4部分编码而成:当前时间、机器标识、进程号和自增的整数。insert函数也支持插入文档列表:insert(List list)

    7、查询

    find函数是查询集合的,它返回的DBCursor是DBObject的迭代器。如下代码:
    BasicDBObject query = new BasicDBObject();
    query.put("i", 71);
    cursor = coll.find(query);
    try {
     while(cursor.hasNext()) {
                    System.out.println(cursor.next());
       }
    } finally {
       cursor.close();
    }

    8、建立索引

    创建索引语句如:coll.createIndex(new BasicDBObject(“i”, 1)); ,其中i表示要索引的字段,1表示升序(-1表示降序)。可以看到,DBObject成为java客户端通用的结构表示。查看索引使用DBCollection.getIndexInfo()函数。

  • 相关阅读:
    索引初识
    python数据类型之 元祖、列表字典
    linux常用命令之网络命令
    linux命令之查找find &grep
    python数据类型之可hash,不可hash
    python面向对象之封装,多态与继承
    python之新式类与经典类
    python之random随机函数
    CSS3选择器(一)
    关于居中
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/5096947.html
Copyright © 2020-2023  润新知