`
snoopy7713
  • 浏览: 1170505 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

浅谈如何用Java操作MongoDB?

阅读更多

NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库。本文主要讲述如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作。

文章内容如下:

第一步:安装MongoDB

无需太多的繁杂步骤,你只要在MongoDB官方网站 查看安装说明,根据自己的操作系统进行选择适应的版本即可。

第二步:启动MongoDB服务器

这一步也很简单。运行mongod.exe文件里的bin文件夹(我使用的是Windows OS系统),并启动MongoDB服务器。

在默认的情况下服务器将启动端口27017,你需要在安装过程中创建将数据存储在/data/db目录里。

第三步:启动MongoDB shell指令

你可以通过运行mongo.exe文件来启动MongoBD shell。

第四步:利用MongoDB创建数据库

利用MongoDB在MongoDB shell中输入以下内容建立一个名为“company”的数据库。

  1. use company 

记住,除非你在MangoDB里保存了一些东西,否则它不会自动为你保存。

使用下面的命令帮你查看可用的数据库,它会显示“company”尚未被创建。

  1. show dbs;    

第五步:在MongoDB中保存数据

使用下面的命令来保存employee 数据代表一个collection,将其命名为employees。

  1. employee  = {name : "A", no : 1}     
  2. db.employees.save(employee)    

通过使用下面的命令来查看collection里的数据。

  1. db.users.find();    

 

如何使用Java操作MongoDB?

下面是是一段简单的Java代码,你可以在这里 获得mongo-java驱动。很简单,只需要使用下面的代码,重复上面的操作即可。

  1. package com.eviac.blog.mongo;    
  2.     
  3. import java.net.UnknownHostException;    
  4.     
  5. import com.mongodb.BasicDBObject;    
  6. import com.mongodb.DB;    
  7. import com.mongodb.DBCollection;    
  8. import com.mongodb.DBCursor;    
  9. import com.mongodb.Mongo;    
  10. import com.mongodb.MongoException;    
  11.     
  12. public class MongoDBClient {    
  13.     
  14.  public static void main(String[] args) {    
  15.     
  16.   try {    
  17.     
  18.    Mongo  mongo  =  new  Mongo("localhost", 27017);    
  19.     
  20.    DB  db  =  mongo .getDB("company");    
  21.     
  22.    DBCollection  collection  =  db .getCollection("employees");    
  23.     
  24.    BasicDBObject  employee  =  new  BasicDBObject();    
  25.    employee.put("name", "Hannah");    
  26.    employee.put("no", 2);    
  27.     
  28.    collection.insert(employee);    
  29.     
  30.    BasicDBObject  searchEmployee  =  new  BasicDBObject();    
  31.    searchEmployee.put("no", 2);    
  32.     
  33.    DBCursor  cursor  =  collection .find(searchEmployee);    
  34.     
  35.    while (cursor.hasNext()) {    
  36.     System.out.println(cursor.next());    
  37.    }    
  38.     
  39.    System.out.println("The Search Query has Executed!");    
  40.     
  41.   } catch (UnknownHostException e) {    
  42.    e.printStackTrace();    
  43.   } catch (MongoException e) {    
  44.    e.printStackTrace();    
  45.   }    
  46.     
  47.  }    
  48.     
  49. }   

结果如下:

  1. { "_id" : { "$oid" : "4fec74dc907cbe9445fd2d70"} , "name" : "Hannah" , "no" : 2}    
  2. The Search Query has Executed!    

小结:

随着互联网Web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展也非常迅速。本文浅显的谈及了如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作的问题。如果您是这方面的专家不妨与我们分享下。

分享到:
评论

相关推荐

    浅谈java实现mongoDB的多条件查询

    但是,当我们使用Java操作MongoDB时,如何实现多条件查询呢? 使用DBObject实现多条件查询 在Java中,我们可以使用DBObject来实现多条件查询。DBObject是一个简单的Java对象,它可以用于存储和检索MongoDB中的数据...

    浅谈Spring Data如何简化数据操作的方法

    首先,Spring Data支持多种NoSQL数据库,例如MongoDB(文档数据库)、Neo4j(图形数据库)、Redis(键/值存储)和Hbase(列族数据库),同时也支持关系数据存储技术,如JDBC和JPA。对于JPA支持,Spring Data JPA提供...

    new_test.rar_NEW_java 采集_采集入库

    描述“浅谈自动采集程序及入库”则意味着我们将关注自动采集过程以及如何有效地将采集到的数据导入到数据库。自动采集,通常称为网络爬虫或Web抓取,是通过编写特定的程序来遍历网页,提取所需信息的过程。入库则是...

    浅谈云计算开发服务平台的设计与实现.pdf

    云计算开发服务平台的设计与实现涉及到云平台架构的关键概念、开源框架的使用、分布式技术的应用,以及云服务中各项组件的配置与部署。以下是从提供的文档内容中提炼出的详细知识点: 1. OpenShift开源框架: ...

    基于MATLAB GUI与CNN的模糊车牌识别系统:从图像预处理到字符识别全流程解析

    内容概要:本文详细介绍了基于MATLAB GUI界面和卷积神经网络(CNN)的模糊车牌识别系统。该系统旨在解决现实中车牌因模糊不清导致识别困难的问题。文中阐述了整个流程的关键步骤,包括图像的模糊还原、灰度化、阈值化、边缘检测、孔洞填充、形态学操作、滤波操作、车牌定位、字符分割以及最终的字符识别。通过使用维纳滤波或最小二乘法约束滤波进行模糊还原,再利用CNN的强大特征提取能力完成字符分类。此外,还特别强调了MATLAB GUI界面的设计,使得用户能直观便捷地操作整个系统。 适合人群:对图像处理和深度学习感兴趣的科研人员、高校学生及从事相关领域的工程师。 使用场景及目标:适用于交通管理、智能停车场等领域,用于提升车牌识别的准确性和效率,特别是在面对模糊车牌时的表现。 其他说明:文中提供了部分关键代码片段作为参考,并对实验结果进行了详细的分析,展示了系统在不同环境下的表现情况及其潜在的应用前景。

    嵌入式八股文面试题库资料知识宝典-计算机专业试题.zip

    嵌入式八股文面试题库资料知识宝典-计算机专业试题.zip

    嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_3.zip

    嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_3.zip

    开关磁阻电机技术参数与建模技术深度解析:4kW电机性能详述

    内容概要:本文深入探讨了一款额定功率为4kW的开关磁阻电机,详细介绍了其性能参数如额定功率、转速、效率、输出转矩和脉动率等。同时,文章还展示了利用RMxprt、Maxwell 2D和3D模型对该电机进行仿真的方法和技术,通过外电路分析进一步研究其电气性能和动态响应特性。最后,文章提供了基于RMxprt模型的MATLAB仿真代码示例,帮助读者理解电机的工作原理及其性能特点。 适合人群:从事电机设计、工业自动化领域的工程师和技术人员,尤其是对开关磁阻电机感兴趣的科研工作者。 使用场景及目标:适用于希望深入了解开关磁阻电机特性和建模技术的研究人员,在新产品开发或现有产品改进时作为参考资料。 其他说明:文中提供的代码示例仅用于演示目的,实际操作时需根据所用软件的具体情况进行适当修改。

    少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip

    少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip

    少儿编程scratch项目源代码文件案例素材-几何冲刺 转瞬即逝.zip

    少儿编程scratch项目源代码文件案例素材-几何冲刺 转瞬即逝.zip

    四象限直流电机速度驱动控制系统PID控制仿真模型设计与实现

    内容概要:本文详细介绍了基于PID控制器的四象限直流电机速度驱动控制系统仿真模型及其永磁直流电机(PMDC)转速控制模型。首先阐述了PID控制器的工作原理,即通过对系统误差的比例、积分和微分运算来调整电机的驱动信号,从而实现转速的精确控制。接着讨论了如何利用PID控制器使有刷PMDC电机在四个象限中精确跟踪参考速度,并展示了仿真模型在应对快速负载扰动时的有效性和稳定性。最后,提供了Simulink仿真模型和详细的Word模型说明文档,帮助读者理解和调整PID控制器参数,以达到最佳控制效果。 适合人群:从事电力电子与电机控制领域的研究人员和技术人员,尤其是对四象限直流电机速度驱动控制系统感兴趣的读者。 使用场景及目标:适用于需要深入了解和掌握四象限直流电机速度驱动控制系统设计与实现的研究人员和技术人员。目标是在实际项目中能够运用PID控制器实现电机转速的精确控制,并提高系统的稳定性和抗干扰能力。 其他说明:文中引用了多篇相关领域的权威文献,确保了理论依据的可靠性和实用性。此外,提供的Simulink模型和Word文档有助于读者更好地理解和实践所介绍的内容。

    嵌入式八股文面试题库资料知识宝典-2013年海康威视校园招聘嵌入式开发笔试题.zip

    嵌入式八股文面试题库资料知识宝典-2013年海康威视校园招聘嵌入式开发笔试题.zip

    少儿编程scratch项目源代码文件案例素材-驾驶通关.zip

    少儿编程scratch项目源代码文件案例素材-驾驶通关.zip

    小区开放对周边道路通行能力影响的研究.pdf

    小区开放对周边道路通行能力影响的研究.pdf

    冷链物流路径优化:基于NSGA-2遗传算法与软硬时间窗策略的研究

    内容概要:本文探讨了冷链物流车辆路径优化问题,特别是如何通过NSGA-2遗传算法和软硬时间窗策略来实现高效、环保和高客户满意度的路径规划。文中介绍了冷链物流的特点及其重要性,提出了软时间窗概念,允许一定的配送时间弹性,同时考虑碳排放成本,以达到绿色物流的目的。此外,还讨论了如何将客户满意度作为路径优化的重要评价标准之一。最后,通过一段简化的Python代码展示了遗传算法的应用。 适合人群:从事物流管理、冷链物流运营的专业人士,以及对遗传算法和路径优化感兴趣的科研人员和技术开发者。 使用场景及目标:适用于冷链物流企业,旨在优化配送路线,降低运营成本,减少碳排放,提升客户满意度。目标是帮助企业实现绿色、高效的物流配送系统。 其他说明:文中提供的代码仅为示意,实际应用需根据具体情况调整参数设置和模型构建。

    少儿编程scratch项目源代码文件案例素材-恐怖矿井.zip

    少儿编程scratch项目源代码文件案例素材-恐怖矿井.zip

    基于STM32F030的无刷电机高压FOC控制方案:滑膜无感FOC技术及保护机制

    内容概要:本文详细介绍了基于STM32F030的无刷电机控制方案,重点在于高压FOC(磁场定向控制)技术和滑膜无感FOC的应用。该方案实现了过载、过欠压、堵转等多种保护机制,并提供了完整的源码、原理图和PCB设计。文中展示了关键代码片段,如滑膜观测器和电流环处理,以及保护机制的具体实现方法。此外,还提到了方案的移植要点和实际测试效果,确保系统的稳定性和高效性。 适合人群:嵌入式系统开发者、电机控制系统工程师、硬件工程师。 使用场景及目标:适用于需要高性能无刷电机控制的应用场景,如工业自动化设备、无人机、电动工具等。目标是提供一种成熟的、经过验证的无刷电机控制方案,帮助开发者快速实现并优化电机控制性能。 其他说明:提供的资料包括详细的原理图、PCB设计文件、源码及测试视频,方便开发者进行学习和应用。

    基于有限体积法Godunov格式的管道泄漏检测模型研究.pdf

    基于有限体积法Godunov格式的管道泄漏检测模型研究.pdf

    嵌入式八股文面试题库资料知识宝典-CC++笔试题-深圳有为(2019.2.28)1.zip

    嵌入式八股文面试题库资料知识宝典-CC++笔试题-深圳有为(2019.2.28)1.zip

    少儿编程scratch项目源代码文件案例素材-几何冲刺 V1.5.zip

    少儿编程scratch项目源代码文件案例素材-几何冲刺 V1.5.zip

Global site tag (gtag.js) - Google Analytics