数据库

 首页 > 数据库 > MongoDB > Java操作MongoDB之CRUD 简单操作

Java操作MongoDB之CRUD 简单操作

分享到:
【字体:
导读:
         摘要:我下载的是mongo-2.8.0.jar—Version2.8.0打开mongoshell--新建数据库test--(usetest)打开eclipse新建工程,把junit,mongo-2.8.0.jar导入。新建测试类如下:packagecom.db;importjava.net.UnknownHostExcept...

Java操作MongoDB之CRUD 简单操作

我下载的是 mongo-2.8.0.jar — Version 2.8.0
打开mongo shell -- 新建数据库test --( use test)
打开eclipse新建工程,把junit,mongo-2.8.0.jar导入。
新建测试类如下:
package com.db;

import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;

import org.bson.types.ObjectId;
import org.junit.After;
import org.junit.Test;

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 DBUtils {
    private static Mongo mongo;
    private static DB db;
    static {
        try {
            mongo = new Mongo("localhost", 27017);
        } catch (UnknownHostException e) {
 e.printStackTrace();
        } catch (MongoException e) {
 e.printStackTrace();
        }
        db = mongo.getDB("test");
    }

    @After
    public void output() {
        // 测试完显示所有
        DBCollection dbc = db.getCollection("user");
        DBCursor cursor = dbc.find();
        while (cursor.hasNext()) {
            // cursor.next就是一行记录(一个文档)
 System.out.println(cursor.next());
        }
    }

    @Test
    public void testInsert() throws Exception {
        DBCollection dbc = db.getCollection("user");
        DBObject object = new BasicDBObject();
        object.put("username", "zdw");
        object.put("password", "123");
        // 一个人有一个职位
        // 数据库json格式:{username:"zdw",password:"123",position:{name:"工程师"}}
        BasicDBObject o = new BasicDBObject();
        o.put("name", "经理");
        object.put("position", o);
        dbc.insert(object);

        object = new BasicDBObject();
        object.put("username", "zhangjun");
        object.put("password", "456");
        // 一个人有多个职位(一个文档里有多个文档)
        // 数据库json格式:{username:"zhangjun",password:"456",position:[{name:"工程师"},{name:"设计师"}]}
        List list = new ArrayList();
        o = new BasicDBObject();
        o.put("name", "工程师");
        list.add(o);
        o = new BasicDBObject();
        o.put("name", "设计师");
        list.add(o);
        object.put("position", list);
        dbc.insert(object);
    }

    // 删除指定
    @Test
    public void testRemoveOne() throws Exception {
        DBCollection dbc = db.getCollection("user");
        DBObject o = new BasicDBObject();
        o.put("username", "zhangjun");
        dbc.remove(o);
    }

    @Test
    public void testModify() throws Exception {
        DBCollection dbc = db.getCollection("user");
        // 根据id修改密码,需要加$set,否则所有记录的password都会被修改,其它字段删除。
        int result = dbc.update(
          new BasicDBObject("_id", new ObjectId(
   "4ff8eaa65dbc67340278a07c")),
          new BasicDBObject("$set", new BasicDBObject("password",
   "4444"))).getN();
   System.out.println(result);
    }

    @Testhttp://www.shengshiyouxi.com
    public void testRemove() throws Exception {
        DBCollection dbc = db.getCollection("user");
        // 删除全部
        dbc.drop();
    }

    // 查询指定
    @Test
    public void testFindOne() throws Exception {
        DBCollection dbc = db.getCollection("user");
        DBObject o = new BasicDBObject();
        o.put("username", "zdw");
        DBObject obj = dbc.findOne(o);
        System.out.println(obj);
    }

}

Java操作MongoDB之CRUD 简单操作
分享到:
在RASPberry Pi树莓派上安装配置MongoDB...
在RASPberry Pi树莓派上安装配置MongoDB数据库 Raspberry PI的安装配置过程 【略】 Nginx、PHP和MongoDB的安装过程 【略】 安装PHP的MongoDB驱动 指引来自这里(驱动安装)和这里(phpize找不到)。 运行以下指令以安装PHP开发环境和PEAR: sudo apt-get install php5-dev sudo apt-get install ...
Java 操作 MongoDB 快速入门教程
Java 操作 MongoDB 快速入门教程 https://github.com/mongodb/mongo-java-driver/downloads 下载那个几百K的jar包即可 我下载的是mongo-2.9.0-RC2.jar 389K 下载以后,放到java工程里引入 接之前的测试 启动mongo。 然后写一个java程序 package com.javaer.mongo; import java.net.UnknownHostException; impo...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……