1,下载驱动https://github.com/mongodb/mongo-java-driver/downloads,导入工程java中

2,建立测试代码

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

public static void main(String[] args) throws UnknownHostException, MongoException {  // Mongo m = new Mongo();//默认本地  // Mongo m = new Mongo("192.168.0.101");//默认端口   Mongo m = new Mongo("192.168.0.101",27017);   //获取名为 alan 的数据库,不存在的情况下创建   DB db = m.getDB("alan");      //获取所有数据库,不显示无collection的db   System.out.println("所有数据库名:"+m.getDatabaseNames());      //获取名为 testCollection 的collection(相当于表),不存在的情况下创建   DBCollection coll = db.getCollection("testCollection");        //向collection中插入值 (可以插条 )   BasicDBObject obj = new BasicDBObject();   obj.put("name","jone");   obj.put("sex", "male");   BasicDBObject info = new BasicDBObject();   info.put("height", 172);   info.put("weight", 65);   obj.put("other",info);   coll.insert(obj);      //获取数据库下所有的collection,不显示无数据的collection   Set<String> colls = db.getCollectionNames();   for(String s : colls){    System.out.println(s);   }        //查询coll中全部记录     DBCursor ite = coll.find();     while(ite.hasNext()){     System.out.println(ite.next());    }   //获取第一条记录    DBObject o = coll.findOne();          System.out.println(o);

//统计colletion的数据条数   System.out.println(coll.getCount());            // 查询 name位 mark的对象           BasicDBObject query = new BasicDBObject();          query.put("name", "mark");          DBCursor it = coll.find(query);     while(it.hasNext()){     System.out.println(it.next());    }            //查询height小于175,weight不等于65的对象    BasicDBObject query2 = new BasicDBObject();       query2.put("other.height", new BasicDBObject("$lt", 175));       query2.put("other.weight", new BasicDBObject("$ne",65));       DBCursor it2 = coll.find(query2);        while(it2.hasNext()){    System.out.println(it2.next());   }

//更新操作       showData(coll);       BasicDBObject old_obj = new BasicDBObject();       old_obj.put("name", "mark");       //这里的new_val对象一定要是find出的而不是new的,否则多字段的情况下就会丢失其它字段信息       DBObject new_val = coll.findOne(old_obj);       new_val.put("name", "zhoulong");      /**这里只能修改一条满足条件的记录,而且根据API用updateMulti方法或者设置update第四个参数也无效,       * 如果要批量跟新就要查询后,循环遍历更新了       */       coll.update(old_obj, new_val);       showData(coll);            //删除操作       showData(coll);       BasicDBObject rmove = new BasicDBObject();          rmove.put("name", "jone");           coll.remove(rmove);       //coll.findAndRemove(rmove);//可以用findAndRemove删除 ,不过这个方法之能删除一条符合条件的记录       showData(coll);                         }

//遍历数据   static void showData(DBCollection col)     {        DBCursor ite = col.find();        while(ite.hasNext())        {               System.out.println(ite.next());          }      }  } 3,参考api,http://api.mongodb.org/java/2.5-pre-/index.html

4,用图形化的界面直观看看新建的库表和插入的数据

基于mongodb的java之增删改查(CRUD)的更多相关文章

  1. 基于mongodb的python之增删改查(CRUD)

    1,下载mongodb的python驱动,http://pypi.python.org/pypi/pymongo/,根据操作系统和python平台版本选择相应的egg或exe安装. 2,新建一个py脚 ...

  2. java中增删改查(CRUD)总结

    对于User表增删改查:1:save(保存方法)  view(查询所有记录) update(更新方法) delete(删除方法) 通过method这个参数进行判断执行不同的操作 2: 具体的实现:   ...

  3. mongoDB用java实现增删改查

    package mongo; import java.net.UnknownHostException; import com.mongodb.BasicDBObject; import com.mo ...

  4. 十四:SpringBoot-配置MongoDB数据库,实现增删改查逻辑

    SpringBoot-配置MongoDB数据库,实现增删改查逻辑 1.MongoDB数据库 1.1 MongoDB简介 1.2 MongoDB特点 2.SpringBoot整合MongoDB 2.1 ...

  5. MyBatis学习(三)MyBatis基于动态代理方式的增删改查

    1.前言 上一期讲到MyBatis-Statement版本的增删改查.可以发现.这种代码写下来冗余的地方特别多.写一套没啥.如果涉及到多表多查询的时候就容易出现问题.故.官方推荐了一种方法.即MyBa ...

  6. mongodb的安装与增删改查

    mongodb是一款分布式的文件存储的数据库,注意这两个词,分布式和文件存储.mongodb支持复制和分片,可以合理的运用空间的大小,也可以达到容灾的目的.另外文件存储也是一个特点,抛弃了传统的表的概 ...

  7. 基于vue-easytable实现数据的增删改查

    基于vue-easytable实现数据的增删改查 原理:利用vue的数据绑定和vue-easetable的ui完成增删改查 后端接口: 1.条件查询表中数据 http://localhost:4795 ...

  8. IDEA SpringBoot-Mybatis-plus 实现增删改查(CRUD)

    上一篇: IDEA SpringBoot-Mybatis实现增删改查(CRUD) 下一篇:Intellij IDEA 高效使用教程 (插件,实用技巧) 最好用的idea插件大全 一.前言 Mybati ...

  9. MongoDB学习-->命令行增删改查&JAVA驱动操作Mongodb

    MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关 ...

随机推荐

  1. 使用AXIS2客户端调用 WEBSERVICE

    问题 在调用WEBSERVICE时,可以使用wsdl2java生成java代码,调用接口,这种方法在接口固定的情况下是一种不错的选择,如果需要动态调用接口,那么这样就行不通了. 解决办法 1.直接构建 ...

  2. 微信开发订阅号(ASP.NET MVC4+jquery mobile+AppHarbor发布)

    首先应该去微信公众平台注册一个账号,因为我是用的个人,所以只能注册订阅号,然后需要提供身份证照片,这些大家慢慢折腾.然后在微信管理面板中选择高级功能,进入开发者模式. 在服务器配置中需要提供最重要的u ...

  3. Angular js 之动态传数据到下一个页面和动态通过ng-click进入不同的页面

    +关于Angular js中一些千篇一律的后台获取数据 首先在services.js里面把服务写好 然后在controller里面把数据给打印出来 (首先需要把数据注入) +关于Angular js中 ...

  4. JS-DOM基础

    1     JS-DOM 全称:document object model 1.1 获取页面元素 getElementsByTagName():无论元素的数量是多少,都会存入数组 getElement ...

  5. XP 安装不了framework 4.0 的解决方法

    第一步: 如果是XP系统: 1.开始——运行——输入cmd——回车——在打开的窗口中输入net stop WuAuServ 2.开始——运行——输入%windir% 3.在打开的窗口中有个文件夹叫So ...

  6. JS设置弹出小窗口。

    经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这 ...

  7. Struts2中动态方法的调用

    Struts2中动态方法调用就是为了解决一个action对应多个请求的处理,以免action太多. 主要有一下三种方法:指定method属性.感叹号方式和通配符方式.推荐使用第三种方式. 1.指定me ...

  8. 拓扑排序&&欧拉(回)路

    摘要:最近是不适合写代码么?忘记初始化wa到死<_=_=_>.唔--最近在学习图论,从基础搞起,先搞了拓扑排序和欧拉(回)路. Part 0. 拓扑排序 ==挖坑== Part 1. 欧拉 ...

  9. Centos配置国内yum源

    网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错,将yum源设置为163yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到.具体设置方法如下 ...

  10. mac上spacemacs体验小记

    project: blog target: note-of-spacemacs-on-mac.md date: 2016-01-04 status: publish tags: - emacs - s ...