Java和MongoDB之Hello World
1.新建Project
新建Java Project,并把mongo-java-driver驱动加入到项目bulid path中,如果你使用的是maven增加依赖。
- <dependency>
- <groupId>org.mongodb</groupId>
- <artifactId>mongo-java-driver</artifactId>
- <version>2.10.1</version>
- </dependency>
2.连接上MongoDB
- //>2.10版本
- MongoClient mongo = new MongoClient( "localhost" , 27017 );
- //老版本
- Mongo mongo = new Mongo("localhost", 27017);
如果需要验证,需要输入用户名和密码
- MongoClient mongoClient = new MongoClient();
- DB db = mongoClient.getDB("database name");
- boolean auth = db.authenticate("username", "password".toCharArray());
3.MongoDB数据库
得到MongoDB中的数据库,如果数据库名不存在,MongoDB会自动创建
- DB db = mongo.getDB("database name");
显示所有的数据库
- List<String> dbs = mongo.getDatabaseNames();
- for(String db : dbs){
- System.out.println(db);
- }
4.MongoDB Collection(MongoDB表)
得到数据库中的表
- DB db = mongo.getDB("testdb");
- DBCollection table = db.getCollection("user");
显示数据库中的所有表
- DB db = mongo.getDB("testdb");
- Set<String> tables = db.getCollectionNames();
- for(String coll : tables){
- System.out.println(coll);
- }
5.插入、查找、更新、删除操作
插入数据,向Collection(表)中插入一个Document
- DBCollection table = db.getCollection("user");
- BasicDBObject document = new BasicDBObject();
- document.put("name", "qiyadeng");
- document.put("age", 30);
- document.put("createdDate", new Date());
- table.insert(document);
更新Document中的name="qiyadeng.com"
- DBCollection table = db.getCollection("user");
- BasicDBObject query = new BasicDBObject();
- query.put("name", "qiyadeng");
- BasicDBObject newDocument = new BasicDBObject();
- newDocument.put("name", "qiyadeng.com");
- BasicDBObject updateObj = new BasicDBObject();
- updateObj.put("$set", newDocument);
- table.update(query, updateObj);
从Collection中查找name="qiyadeng.com"的Document
- DBCollection table = db.getCollection("user");
- BasicDBObject searchQuery = new BasicDBObject();
- searchQuery.put("name", "qiyadeng.com");
- DBCursor cursor = table.find(searchQuery);
- while (cursor.hasNext()) {
- System.out.println(cursor.next());
- }
删除name="qiyadeng"的Document
- DBCollection table = db.getCollection("user");
- BasicDBObject searchQuery = new BasicDBObject();
- searchQuery.put("name", "qiyadeng.com");
- table.remove(searchQuery);
6.完整的例子
- package com.qiyadeng.mongodb;
- import java.util.Date;
- import com.mongodb.BasicDBObject;
- import com.mongodb.DB;
- import com.mongodb.DBCollection;
- import com.mongodb.DBCursor;
- import com.mongodb.MongoClient;
- public class MongoDBSample {
- public static void main(String[] args) throws Exception{
- /**** Connect to MongoDB ****/
- //2.10.0后,使用MongoClient
- MongoClient mongo = new MongoClient("localhost", 27017);
- /**** Get database ****/
- // if database doesn't exists, MongoDB will create it for you
- DB db = mongo.getDB("testdb");
- /**** Get collection / table from 'testdb' ****/
- // if collection doesn't exists, MongoDB will create it for you
- DBCollection table = db.getCollection("user");
- /**** Insert ****/
- // create a document to store key and value
- BasicDBObject document = new BasicDBObject();
- document.put("name", "qiyadeng");
- document.put("age", 30);
- document.put("createdDate", new Date());
- table.insert(document);
- /**** Find and display ****/
- BasicDBObject searchQuery = new BasicDBObject();
- searchQuery.put("name", "qiyadeng");
- DBCursor cursor = table.find(searchQuery);
- while (cursor.hasNext()) {
- System.out.println(cursor.next());
- }
- /**** Update ****/
- // search document where name="qiyadeng" and update it with new values
- BasicDBObject query = new BasicDBObject();
- query.put("name", "qiyadeng");
- BasicDBObject newDocument = new BasicDBObject();
- newDocument.put("name", "qiyadeng.com");
- BasicDBObject updateObj = new BasicDBObject();
- updateObj.put("$set", newDocument);
- table.update(query, updateObj);
- /**** Find and display ****/
- BasicDBObject searchQuery2
- = new BasicDBObject().append("name", "qiyadeng.com");
- DBCursor cursor2 = table.find(searchQuery2);
- while (cursor2.hasNext()) {
- System.out.println(cursor2.next());
- }
- }
- }
输出
{ "_id" : { "$oid" : "51444c88874c79654063356b"} , "age" : 30 , "createdDate" : { "$date" : "2013-03-16T10:42:16.555Z"} , "name" : "qiyadeng.com"}
使用mongo验证创建的数据库testdb,collection user是否存在。
转自:http://www.cnblogs.com/qiyadeng/archive/2013/03/19/2970131.html
Java和MongoDB之Hello World的更多相关文章
- 【MongoDB for Java】Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...
- JAVA操作MongoDB数据库
1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...
- [转]MongoDB for Java】Java操作MongoDB
原文地址: MongoDB for Java]Java操作MongoDB 开发环境: System:Windows IDE:eclipse.MyEclipse 8 Database:mongoDB 开 ...
- Java 连接MongoDB
1.驱动 通过java连接MongoDB需要一个java版的驱动 下载地址:http://mongodb.github.io/mongo-java-driver/ 2.连接MongoDB 通过 com ...
- Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html 介绍到了在MongoDB的控制台完成MongoDB的数据操作,通 ...
- mongDB基本命令和Java操作MongoDB
上一篇博文<mongoDB安装>我们安装了mongoDB,现在来复习一下它的一些基本命令:mongoDB的bin目录加入到path之后,命令行中输入mongo: 然后我们进入正题 1.查看 ...
- Mongodb快速入门之使用Java操作Mongodb
[IT168 专稿]在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作. HelloWorld程序 学习任何程序的第一步,都是编 ...
- Mongodb入门并使用java操作Mongodb
转载请注意出处:http://blog.csdn.net/zcm101 最近在学习NoSql,先从Mongodb入手,把最近学习的总结下. Mongodb下载安装 Mongodb的下载安装就不详细说了 ...
- 浅谈如何用Java操作MongoDB
NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库.本文主要讲述如何使用Java操作Mon ...
- Java实现mongodb原生增删改查语句
Java实现mongodb原生增删改查语句 2018-03-16 自动化测试时,需校验数据库数据,为了快速自动化,在代码中用原生增删改查语句操作mongodb 结构 代码 0 pom.xml < ...
随机推荐
- HDU 1599 find the mincost route (无向图的最小环)
题意: 给一个带权无向图,求其至少有3个点组成的环的最小权之和. 思路: (1)DFS可以做,实现了确实可以,只是TLE了.量少的时候应该还是可以水一下的.主要思路就是,深搜过程如果当前点搜到一个点访 ...
- 2015-10-11 Sunday 晴 ARM学习
基础的知识看得差不多了,linux系统相关的,最主要是c语言基础知道,还有linux系统编程,网络编程socket等相关的.这些内容最最基础的看完了,接下来我在考虑看什么呢?是看ARM以及驱动编程系列 ...
- 【转】Eclipse常用快捷键
原文网址:http://denver.blog.51cto.com/272871/52219 编辑相关快捷键 1.[Alt+/] 为用户提供内容的辅助. 2.[Ctrl+O] 显示类中方法和属性的大纲 ...
- 如何在vmware上创建共享磁盘
1.先在你本机的vmware安装目录上找到 vmware-vdiskmanager.exe 执行文件. 我的目录是 d:\vmware\vmware-vdiskmanager.exe 再用cmd终端( ...
- 嵌入式 GDB调试死锁示例
死锁:一种情形,此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被 其他线程占用并堵塞了的资源.例如,如果线程A锁住了记录1并等待记录2,而线程B锁住了记录2并等待记录1,这样两个线 ...
- C++中关于类型转换的问题讨论
这里以signed/unsigned char, signed/unsigned short, signed/unsigned int类型为例, 讨论一下基本类型转换的基本原理,这样我们在编程中碰到由 ...
- sqlite3使用简介(内含解决sqlite内存的方法)
一.使用流程 要使用sqlite,需要从sqlite官网下载到三个文件,分别为sqlite3.lib,sqlite3.dll,sqlite3.h,然后再在自己的工程中配置好头文件和库文件,同时将dll ...
- ArcGIS Engine栅格数据使用总结
jojojojo2002 原文 ArcGIS Engine栅格数据使用总结 简介:ArcGIS Engine栅格数据使用总结,一个栅格数据集由一个或者多个波段(RasterBand)的数据组成,一个波 ...
- Lucene 入门需要了解的东西
全文搜索引擎的原理网上大段的内容,要想深入的学习,最好的办法就是先用一下,lucene 发展比较快,下面是写第一个demo 要注意的一些事情: 1.Lucene的核心jar包,下面几个包分别位于不同 ...
- EditText的几个小点
1. EditText 由 TextView 继承而来 2. android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用.这也大大的方便的操作.有时需要虚拟键盘 ...