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
分享到:
相关推荐
JAVA连接MongoDB,并进行简单的增删改查操作小例子源码,相关博文: http://blog.csdn.net/dream_broken/article/details/36014733
java连接Mongodb进行增删改查,包括查询、删除、增加等功能
java 操作mongodb代码,可直接运行成功,作为初学者非常实用。其中数据库是包含用户名和密码,用户名root ,密码root。
java操作mongodb增删改查mongodb查询 in like 修改自增
使用Java对MongoDB进行一些基础操作,包括增删改查基础搓澡。给刚接触mongodb或者想使用Java操作Mongodb的童鞋们一些引导性的帮助。
演示了JAVA怎样操作mongodb数据库进行增删改查操作。
MongoDB java API实现增删改查,包含批量操作
本Demo简单演示了如何使用Express 4.x 与MongoDb实现增删改查等Web网站最基本的功能
利用spring和springmvc对mongodb数据库进行增删改查。
使用nodejs操作mongodb来实现增删改查,适合初学者 文章链接:http://blog.csdn.net/wang_situ/article/details/39959643
nodejs+express+mongodb 博客系统增删改查完整版,包括用户注册,博客发表,博客修改,博客删除,权限控制。后台连接mongodb:blog
一个完全符合企业设计规范的Java操作MongoDB数据库,涉及各种增删改查操作及@Test增删改查使用示范,可极大方便MongoDB开发,可直接通过代码学习MongoDB的使用。 使用环境:Myeclipse、MongoDB
mongoDB增删改查+前端页面实现+idea+themlesf+mybatis
c#基于接口泛型书写的可扩展性强的操作mongodb增删改查功能源代码,经过测试通过,在MongodbGetData.aspx.cs中Page_Load方法中,注释掉的代码为相关测试语句
MongoDB增删改查操作案例-用户信息增删改查.zip
主要为大家详细介绍了java连接Mongodb实现增删改查,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
简单的mongodb的使用例子,适合mongodb的入门,和框架搭建
java对mongodb数据库的增删改查测试demo。可直接运行,需要自己安装mongodb数据库,需要手动添加bins包下面的jdbc的jar包和junit4的jar包。包含自己写的mongodb安装文档。
mongodb基本增删改查代码,包含了常见的最近本的操作
本例用Java代码实现键值数据库mongodb的增删改查操作,并结合junit进行简单增删改查测试,希望能帮助刚接触hadoop以及mongodb的学习者。