blog » MongoDB » mongodb学习笔记之Java 应用示例

mongodb学习笔记之Java 应用示例

要使用Java操作MongoDB的话,要到官方网站下载一个驱动包,把包导入后,可以尝试来操作了(记得一定要开着服务器)

首先介绍一下比较常用的几个类

Mongo:
连接服务器,执行一些数据库操作的选项,如新建立一个数据库等

DB:
对应一个数据库,可以用来建立集合等操作

DBCollection:
对应一个集合(类似表),可能是我们用得最多的,可以添加删除记录等

DBObject:
接口和BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,因为是key-value的数据结构,所以用起来其实和HashMap是基本一致的

DBCursor:
用来遍历取得的数据,实现了Iterable和Iterator

接下来实际的操作一下,代码如下:

import java.net.UnknownHostException;
import java.util.Set;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;

public class MongoDbTest {
    public static void main(String[] args) throws UnknownHostException, MongoException {
        //获得数据库服务
        @SuppressWarnings("deprecation")
        Mongo m = new Mongo("localhost", 27017);

        //得到数据库mytest
        DB db = m.getDB("mytest");

        //得到mytest数据库下所有表名
        Set<String> colls = db.getCollectionNames();
        for (String s : colls) {
            System.out.println(s);
        }

        //得到testCollection表
        DBCollection coll = db.getCollection("testCollection");

        //new 一个BasicDBObject对象doc
        BasicDBObject doc = new BasicDBObject();
        //赋值
        doc.put("name", "MongoDB");
        doc.put("type", "database");
        doc.put("count", 1);

        //又new 一个BasicDBObject对象info
        BasicDBObject info = new BasicDBObject();
        info.put("x", 203);
        info.put("y", 102);

        //把info放入doc
        doc.put("info", info);

        //向testCollection表中插入一条数据
        coll.insert(doc);

        //查询一条数据
        DBObject myDoc = coll.findOne();
        System.out.println(myDoc);

        //循环插入100条数据到testCollection
        for (int i = 0; i < 100; i++) {
            coll.insert(new BasicDBObject().append("i", i));
        }

        //Counting Documents in A Collection
        System.out.println(coll.getCount());

        //Using a Cursor to Get All the Documents
        DBCursor cur = coll.find();
        while (cur.hasNext()) {
            //do something
        }
    }
}

This post has already been read 1091 times!

Related posts

RSS 2.0 | leave a response | trackback

发表评论