我下载的是 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<Object> list = new ArrayList<Object>();


        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);


    }

}

这种key-value存储方式,操作很方便。


源码下载

mongodb之java CRUD 简单操作的更多相关文章

  1. github上创建java项目简单操作

    github上创建java项目简单操作 参考L: github上创建java项目简单操作 - CSDN博客http://blog.csdn.net/qq_29392425/article/detail ...

  2. MongoDB快速入门学习笔记2 MongoDB的概念及简单操作

    1.以下列举普通的关系型数据库和MongoDB数据库简单概念上的区别: 关系型数据库 MongoDB数据库 说明 database database 数据库 table collection 数据库表 ...

  3. Mongodb系列- java客户端简单使用(CRUD)

    Mongodb提供了很多的客户端: shell,python, java, node.js...等等. 以 java 为例实现简单的增删改查 pom文件: <dependencies> & ...

  4. Java 数据库简单操作类

    数据库操作类,将所有连接数据库的配置信息以及基本的CRUD操作封装在一个类里,方便项目里使用,将连接数据库的基本信息放在配置文件 "dbinfo.properties" 中,通过类 ...

  5. 【MongoDB】5.MongoDB与java的简单结合

    1.首先 你的清楚你的MongoDB的版本是多少  就下载对应的架包 下载地址如下: http://mongodb.github.io/mongo-java-driver/ 2.新建一个项目  把架包 ...

  6. python下的orm基本操作(1)--Mysql下的CRUD简单操作(含源码DEMO)

    最近逐渐打算将工作的环境转移到ubuntu下,突然发现对于我来说,这ubuntu对于我这种上上网,收收邮件,写写博客,写写程序的时实在是太合适了,除了刚接触的时候会不怎么完全适应命令行及各种权限管理, ...

  7. 跟着大神学Mongo,Mongodb主从复制本机简单操作总结

    原文链接:http://www.cnblogs.com/huangxincheng/archive/2012/03/04/2379755.html 本机安装MongoDB不在介绍,本文Mongo小菜鸟 ...

  8. zookeeper Java API 简单操作示例

    本文主要介绍如何在java IDE中如何应用使用客户端与zookeeper服务器通信. 首先搭建maven环境,并在pom文件中加入zookeeper引用包: <!-- https://mvnr ...

  9. mongodb的安装与简单操作

    MongoDB中文社区:http://www.mongoing.com     数据库的使用场景 SQL(关系型数据库):MySQL.SQLServer  --->磁盘操作 1.高度事务性的场景 ...

随机推荐

  1. AngularJs 父子级Controller传递数据

    <div ng-controller="MyAccountCtrl"> <div ng-controller="TransferCtrl"&g ...

  2. ORACLE 中的一些特殊符号

    oracle通配符,运算符的使用 用于where比较条件的有: 等于:=.<.<=.>.>=.<> 包含:in.not in exists.not exists 范 ...

  3. [转]PHP 5.2~5.6 对照以及功能具体解释

    [分享]PHP 5.2~5.6 对照以及功能具体解释 作者:流水理鱼wwek 来源:http://www.iamle.com/archives/1530.html 截至眼下(2014.2), PHP ...

  4. HashTable的数组和连接两种实现方法(Java版本号)

    1.散列表的接口类 package cn.usst.hashtable; /** * 散列表的接口类 * @author G-Xia * */ public interface HashTable { ...

  5. ZXing拍摄代码扫描之后以区分一维码、二维码、其他代码

    我怎么有二维码没有联系,最近遇到一个问题,,如何推断条码扫描到一维代码或者二维代码,辛苦了一个下午下班后自己,加上网上跟踪信息. 总结出两种方式能够解决该问题(推荐採用另外一种方式): 1.改动源代码 ...

  6. 欧舒丹 L'Occitane 活力清泉保湿面霜 - 男士护肤 - 香港草莓网StrawberryNET.com

    欧舒丹 L'Occitane 活力清泉保湿面霜 - 男士护肤 - 香港草莓网StrawberryNET.com 欧舒丹 活力清泉保湿面霜 50ml/1.7oz

  7. fusionchart实现ZoomLine 源码 破解版 能够导出

    近期画油量曲线须要用到ZoomLine官网看了好几天.如今整理出来供大家參考使用 zoomline.html源码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD ...

  8. CheckBox和RadioButton以及RadioGroup

    CheckBox:复选框 有两种状态 选中状态(true),未选状态(false) 属性 android:checked= "false"(表示该复选框未被选中) RadioGro ...

  9. Android开发之模板模式初探

    模板模式我认为在Android的开发中是最长用到的,基本是随处可见的,认识该模式,有助于我们对Android的源代码及框架有一个更深层次的认识.那什么是模板模式呢,模板模式就是定义一个基本框架,将当中 ...

  10. 10 个迅速提升你 Git 水平的提示(转)

    最近我们推出了两个教程:熟悉Git的基本功能和 让你在开发团队中熟练的使用Git . 我们所讨论的命令足够一个开发者在Git使用方面游刃有余.在这篇文章中,我们试图探索怎样有效的管理你的时间和充分的使 ...