您的位置:首页 > 数据库 > Mongodb

mongodb+java基本操作

2014-01-10 11:08 344 查看
Mongo:连接本地数据库,实例化的时候就已经连接到不乐迪数据库

如:

  Mongo m=new Mongo();

DB:数据库类,mongo创建的数据库类

如:

  DB db=m.getDB("db");//创建db数据库

DBCollection:类似于关系型数据库的表

如:

   DBCollection collection=db.getCollection("new");//创建new集合

BasicDBObject:最终插入数据库的db对象

如:

   BasicDBObject obj=new BasicDBObject();

   obj.put("name","jack");

集合的增删查改:

增加:collection.insert(obj);

查询:DBCursor cursor=collection.find();

更新:

删除:

具体代码如下:

需要添加mongo-1.4.jar包。

package com._21cn.hello;

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 Test {

    /**

     * @throws MongoException

     * @throws UnknownHostException

     */

    public static void main(String[] args) throws UnknownHostException,

            MongoException {

        // TODO Auto-generated method stub

        // 连接本地数据库:实例化的时候就已经连接到本地数据库

        Mongo m = new Mongo();

        // 创建名为new_test_db的数据库

        DB db = m.getDB("new_test_db");

        //==========================================获取集合

        // 获取new_test_db中的集合(类似于获取关系数据库中的表)

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

        // 打印出new_test_db中的集合,这里应当为null

        for (String s : cols) {

            System.out.println("表名:"+s);

        }

        //===========================================创建集合

        // 创建一个叫做"new_test_col"的集合

        DBCollection collection = db.getCollection("new_test_col");

        // 初始化一个基本DB对象,最终插入数据库的就是这个DB对象

        BasicDBObject obj = new BasicDBObject();

        // 放入几个键值对

        obj.put("from", "搞搞");

        obj.put("to", "宝宝");

        obj.put("subject", "狗子爱宝子");

        //插入对象

        collection.insert(obj);

        //查看一条记录,findOne()=find().limit(1);

        DBObject dbobj=collection.findOne();

        //打印出刚才插入的数据

        System.out.println("刚才放进的数据:"+dbobj);

        //=================================================批处理

        //现在我们来插入9条{ranking:i}的数据

        for(int i=0;i<9;i++){

            collection.insert(new BasicDBObject().append("ranking", i));

        }

        //打印集合中的数据总数,这里应当输出10

        System.out.println("总数:"+collection.getCount());

        //================================================遍历游标

        //下面我们来遍历集合,find()方法返回的是一个游标(cursor),这里的概念和关系数据库很相似

        DBCursor cursor=collection.find();

        //然后我们使用这个游标来遍历集合

        while(cursor.hasNext()){

            System.out.println(cursor.next());

        }

        //================================================查询

        //下面来看一些略复杂一点的查询技巧,第一个,简单的条件查询,查询ranking为1的记录

        BasicDBObject query=new BasicDBObject();

        query.put("ranking", 1);

        cursor=collection.find(query);

        while(cursor.hasNext()){

            System.out.println(cursor.next());

        }

        //===============================================大于5小于9

        //下面是更复杂的条件查询,查询ranking大于5小于9的记录

        query=new BasicDBObject();

        query.put("ranking", new BasicDBObject("$gt", 5).append("$lt", 9));

        cursor=collection.find(query);

        while(cursor.hasNext()){

            System.out.println(cursor.next());

        }

        BasicDBObject query1=new BasicDBObject();

        query1.put("from","搞搞");

        BasicDBObject query2=new BasicDBObject();

        query2.put("from","你好");

        collection.update(query1, query2);

        while(cursor.hasNext()){

            System.out.println("更新数据"+cursor.next());

        }

        //===================================================删除测试库

        //最后删除我们的测试数据库

        m.dropDatabase("new_test_db");

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mongodb