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. Traveling in Blade & Soul

    Traveling in Blade & Soul Walking is too simple. Having trained their physics and spirits for ye ...

  2. windows下部署Redis

    1.去github上下载最新的项目源码https://github.com/MSOpenTech/redis 2.打开项目文件redis-3.0\msvs\RedisServer.sln 编译所有项目 ...

  3. Leetcode 详解(Substing without repeats character)

    Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...

  4. daydayup2 codeforces143C

    题意:给你n= (A - 1) × (B - 2) × (C - 2),求A*B*C的最大值和最小值 思路:要用好的姿势暴力 #include "stdio.h" #include ...

  5. IOS Core Animation Advanced Techniques的学习笔记(五)

    第六章:Specialized Layers   类别 用途 CAEmitterLayer 用于实现基于Core Animation粒子发射系统.发射器层对象控制粒子的生成和起源 CAGradient ...

  6. 最简单的RASPBERRY PI wifi配置

    Setting up Wifi with the Command Line  SIMON MONK   This tutorial works best if your router is broad ...

  7. 配置 vim

    cd / vim /etc/vim/vimrc 1.Ubuntu vim显示行号 在文件末端添加一新行,输入 set nu 2.Ubuntu vim语法高亮 在文件中找到 "syntax o ...

  8. crack a router

    1. using hydra dhclient eth0 hydra -l admin -P /c0do/passwd.lst -0 ns -f -v 192.1681.1 htp-get / hyd ...

  9. PowerMockito 同时mock多个对象

    有时候,需要测试的方法内有collections结构,就需要同时mock多个对象 被测方法: public class EmployeeService { public List<Integer ...

  10. 两个APP跳转传值问题

    最近工作上遇到个问题,新的项目要和老系统单点登录. 有点蒙,从来没做过,网上一搜都是SSO,还需要验证服务器. 仔细揣摩,其实需求很简单,没必要那么复杂,以下是我的需求和解决方案: 原系统AP1 新开 ...