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 < ...
随机推荐
- MVC路由调试工具RouteDebug
环境 MVC3 路由注册 入口简单,在Global.asax文件RegisterRoutes方法中. 当为我们的应用程序注册多个路由后,由于注册不当,得不到预期的结果.为什么会发生这种情况,请求具体走 ...
- Java 中带参带返回值方法的使用
如果方法既包含参数,又带有返回值,我们称为带参带返回值的方法. 例如:下面的代码,定义了一个 show 方法,带有一个参数 name ,方法执行后返回一个 String 类型的结果 调用带参带返回值的 ...
- Markdown解决需要输入两个回车才能为一个空行的问题
markdownDataDiv.children().each(function(){ $(this).html($(this).html().replaceAll("\n",&q ...
- Apache PHP 安装问题 (SUSE Linux)
1. SUSE Linux配置命令如下: './configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--with-mysql' 2. 接下来 ...
- linux下动态库编译的依赖问题
这里主要是想试验一下,对一个具有多层嵌套的动态库进行编译时,是否要把最底层的库也包含进来的问题,结论是:只要直接依赖的库名称,不需要最底层库名称. 一,目录结构ZZZ├── add│ ├── ad ...
- DataTable添加列和行的三种方法
JRoger 原文 #region 方法一: DataTable tblDatas =new DataTable("Datas"); DataColumn dc =null; dc ...
- [Everyday Mathematics]20150219
设 $0<a<b$, 试证: $$\bex \int_a^b (x^2+1)e^{-x^2}\rd x\geq e^{-a^2}-e^{-b^2}. \eex$$
- Twitter Storm如何保证消息不丢失
storm保证从spout发出的每个tuple都会被完全处理.这篇文章介绍storm是怎么做到这个保证的,以及我们使用者怎么做才能充分利用storm的可靠性特点. 一个tuple被”完全处理”是什么意 ...
- 让Fragment监听返回键
Activity可以很容易的得到物理返回键的监听事件,而Fragment却不能.所以使用到了以下的方法. 首先创建一个抽象类BackHandledFragment,该类有一个抽象方法onBackPre ...
- linux grub
grub 是目前使用最广泛的linux引导装载程序,旧的lilo这个引导装载程序很少见了,grub优点: 支持较多哦的文件系统,可以使用grub主程序在文件系统中查找内核文件名 启动的时候,可以自行编 ...