`
zmx955
  • 浏览: 19013 次
社区版块
存档分类
最新评论

mongodb增删查改

阅读更多
Java代码  收藏代码

  
 import java.net.UnknownHostException;  
    import java.util.Iterator;  
    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 MongoMain {  
          
        static DB db = null;  
        static DBCollection coll = null;  
          
        static {  
             Mongo m = null;  
            try {  
                //m = new Mongo();//默认本地  
                //m = new Mongo("127.0.0.1");//默认端口  
                m = new Mongo("127.0.0.1",27017);  
            } catch (UnknownHostException e) {  
                e.printStackTrace();  
            } catch (MongoException e) {  
                e.printStackTrace();  
            }  
              
            //获取名为 test 的数据库,不存在的情况下创建  
            db = m.getDB("test");  
              
            //登录数据库(用户名:test,密码:test)  
            boolean auth = db.authenticate("test", "test".toCharArray());  
            if(auth){  
                //只有admin中的用户才有此权限(show dbs)  
                //获取所有数据库,不显示无collection的db  
                //System.out.println("所有数据库名:"+m.getDatabaseNames());  
                  
                //获取名为 user 的collection(相当于表),不存在的情况下创建  
                coll = db.getCollection("user");  
            }else{  
                System.out.println("登录失败!");  
            }  
        }  
          
        public static void main(String[] args) {  
            MongoMain test = new MongoMain();  
            if(coll!=null){  
                test.saveData();  
                test.searchData();  
                test.updateData();  
                test.deleteData();  
            }  
        }  
      
        /** 
         * 保存数据 
         */  
        public void saveData(){  
            //录入学生1的信息  
            BasicDBObject stu1 = new BasicDBObject();  
            stu1.put("name", "jack");  
            stu1.put("age", "25");  
            BasicDBObject sight1 = new BasicDBObject();  
            sight1.put("left", 1.5);  
            sight1.put("right", 1.2);  
            stu1.put("sight", sight1);  
              
            //录入学生2的信息  
            BasicDBObject stu2 = new BasicDBObject();  
            stu2.put("name", "lucy");  
            stu2.put("age", "22");  
            BasicDBObject sight2 = new BasicDBObject();  
            sight2.put("left", 1.0);  
            sight2.put("right", 1.3);  
            stu2.put("sight", sight2);  
              
            //注意:不能直接对sight赋值{left:1.0,right:1.3}  
              
            coll.insert(stu1);  
            coll.insert(stu2);  
        }  
          
        /** 
         * 查询数据 
         */  
        public void searchData(){  
            System.out.println("=======================");  
            //show collections  
            //获取数据库下所有的collection,不显示无数据的collection  
            Set<String> colls = db.getCollectionNames();  
            showData(colls);  
              
            System.out.println("=======================");  
              
            //查询coll中全部记录   
            DBCursor ite = coll.find();    
            showData(ite);  
              
            System.out.println("=======================");  
              
            //获取第一条记录  
            DBObject o = coll.findOne();  
            System.out.println(o);  
              
            System.out.println("=======================");  
              
            //统计colletion的数据条数  
            System.out.println(coll.getCount());  
              
            System.out.println("=======================");  
              
            //查询 name为jack的对象   
            BasicDBObject query = new BasicDBObject();  
            query.put("name", "jack");  
            DBCursor it = coll.find(query);    
            showData(it);  
              
            System.out.println("=======================");  
              
            //查询age小于30,age不等于20的对象   
            BasicDBObject query2 = new BasicDBObject();  
            query2.put("age", new BasicDBObject("$lt", 30));  
            query2.put("age", new BasicDBObject("$ne", 20));  
            DBCursor it2 = coll.find(query2);    
            showData(it2);  
        }  
          
        /** 
         * 修改数据 
         */  
        public void updateData(){  
            BasicDBObject query = new BasicDBObject();  
            query.put("name", "lucy");  
            //这里的new_info对象一定要是find出的而不是new的,否则多字段的情况下就会丢失其它字段信息  
            DBObject new_info = coll.findOne(query);  
              
            //方法一(缺点,必须把2个值都put进去)  
            BasicDBObject sight = new BasicDBObject();  
            sight.put("left", 1.3);  
            sight.put("right", 1.3);  
            new_info.put("sight", sight);  
              
            //方法二(优点,只需设置要修改的字段的值)  
            DBObject obj = (DBObject)new_info.get("sight");  
            obj.put("right", 1.5);  
              
            coll.update(query, new_info);  
        }  
          
        /** 
         * 删除数据 
         */  
        public void deleteData(){  
            BasicDBObject data = new BasicDBObject();  
            //删除名称为lucy的记录  
            data.put("name", "lucy");  
            //传入[空实例]删除所有  
            coll.remove(data);  
        }  
          
        /** 
         * 遍历显示结果 
         * @param result 
         */  
        @SuppressWarnings("rawtypes")   
        public void showData(Iterable result){  
            Iterator it = result.iterator();   
            while(it.hasNext())    
            {    
                System.out.println(it.next());    
            }    
        }    
    }  

 


Java操作MongoDB,下面是一个完整的例子。本实例需导入mongo-2.5.3.jar
分享到:
评论

相关推荐

    MongoDB增删查改

    本文将详细介绍MongoDB中的增删查改(CRUD)操作。 一、Insert操作 MongoDB的数据存储基于文档(Document),文档遵循BSON(Binary JSON)格式,与JSON相似但支持更多数据类型。插入操作主要分为单条插入和批量...

    MongoDB增删查改.zip

    在这个“MongoDB增删查改.zip”压缩包中,我们很可能会找到关于如何在MongoDB中执行基本操作如添加(Insert)、删除(Delete)、查询(Query)和修改(Update)数据的教程或示例。 一、MongoDB的基本概念 1. ...

    nodejs+express+mongodb 博客系统增删改查完整版

    这是一个基于Node.js、Express框架和MongoDB数据库构建的博客系统的完整实现。这个系统涵盖了用户管理、博客内容管理和权限控制的基本功能,是学习Web开发和深入理解Node.js后端开发的一个优秀实践案例。以下是对该...

    express+mongoose实现对mongodb增删改查操作详解

    本文实例讲述了express+mongoose实现对mongodb增删改查操作。分享给大家供大家参考,具体如下: 项目地址:https://github.com/jrainlau/mongoose_crud 写在开头 本文主要分享我如何使用express+mongoose对mongodb...

    MongoDB增删查改操作示例【基于JavaScript Shell】

    在本教程中,我们将深入探讨如何使用JavaScript Shell进行MongoDB的增删查改(CRUD)操作。 ### 插入(Insert) 插入操作是向MongoDB集合中添加新文档的过程。这里有两种基本的插入方式: 1. **单条插入**:例如...

    node.js的增删查改例子

    本篇文章将深入探讨在Node.js中实现数据库的增删查改(CRUD)操作,以及如何与其他开发工具如HTML和Eclipse协同工作。 首先,我们来理解“增”操作。在Node.js中,我们通常会借助ORM(对象关系映射)库,如...

    Java操作Mongodb数据库实现数据的增删查改功能示例

    Java 操作 Mongodb 数据库实现数据的增删查改功能示例 本篇文章主要介绍了 Java 操作 Mongodb 数据库实现数据的增删查改功能,通过完整的实例形式分析了 Java 针对 MongoDB 数据库的连接、增删查改等相关操作技巧。...

    express+ajax+MongoDB做的一个增删查改小demo

    在项目中,你将学习如何使用MongoDB的驱动程序(如Mongoose)连接到数据库,定义模型,执行增删查改操作,以及如何在数据库操作完成后向客户端返回结果。 具体操作步骤如下: 1. **创建**:用户通过表单提交数据,...

    博客后台系统,nodejs express mongodb主要就是数据的增删查改,做为练手使用.zip

    标题中的“博客后台系统,nodejs express mongodb主要就是数据的增删查改”指的是一个基于Node.js、Express框架和MongoDB数据库构建的博客管理后台。这个项目主要用于实践和学习,帮助开发者掌握基本的Web开发技能。...

    留言墙微信小程序,初学云开发实现数据库增删查改功能

    【标题】:“留言墙微信小程序,初学云开发实现数据库增删查改功能”这个项目是为初学者设计的一个实践教程,旨在通过构建一个实际的微信小程序应用来教授云开发和数据库管理的基础知识。微信小程序是一种轻量级的...

    JQueryEasyUI的增删查改

    "JQueryEasyUI的增删查改"是Web应用中最基本的功能,通常指的是创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作,也就是常说的CRUD操作。这些功能对于任何数据管理型的应用来说都是必不可少的。 ...

    golang使用json格式实现增删查改的实现示例

    在Golang中,使用JSON格式实现增删查改是一种轻量级的数据持久化方式,尤其适合小型项目或不需要复杂数据库管理的场景。本文将详细探讨如何利用Golang的JSON库来处理这些操作。 首先,JSON(JavaScript Object ...

    nodejs+express实现增删改查

    本项目将探讨如何使用Node.js与Express结合,实现数据的增删改查(CRUD)操作。 首先,为了实现数据持久化,我们需要一个数据库系统。Node.js有许多可选的数据库驱动,如MongoDB(通过Mongoose库)、MySQL(通过...

    MongoDB中对文档的增删查改基本操作方法总结

    MongoDB 中对文档的增删查改基本操作方法总结 MongoDB 是一种 NoSQL 数据库,提供了多种操作文档的方法,包括插入、删除、查询和修改。本文将对 MongoDB 中对文档的增删查改基本操作方法进行总结。 插入文档: 在...

    mongodb数据库实验之增删查改

    mongodb 数据库实验 一:增加数据 操作1:单条插入:Yelp数据库中的User数据集插入符和如下要求的数据 _id:自定义为自己的班级; user_id:自己的学号+任意字符(多于22个字符取前22位,不足22个字符补充字母,数字...

    增删改查和前后台之间的数据传输

    "增删改查"(CRUD)是数据管理的核心操作,包括创建(Create)、读取(Read)、更新(Update)和删除(Delete)。在这个场景中,我们将探讨如何使用Node.js作为后端服务器,与前端通过Ajax进行数据交互来执行这些...

    web增删改查

    在Web开发中,“增删改查”(CRUD:Create, Read, Update, Delete)是基本的操作模式,广泛应用于各种数据库交互场景。这些操作构成了Web应用程序的核心功能,尤其是在构建数据驱动的网页应用时。以下是对“web增删...

Global site tag (gtag.js) - Google Analytics