Java操作MongoDB,下面是一个完整的例子。本实例需导入mongo-2.5.3.jar
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());
}
}
}
分享到:
相关推荐
MongoDB java API实现增删改查,包含批量操作
JAVA连接MongoDB,并进行简单的增删改查操作小例子源码,相关博文: http://blog.csdn.net/dream_broken/article/details/36014733
使用Java对MongoDB进行一些基础操作,包括增删改查基础搓澡。给刚接触mongodb或者想使用Java操作Mongodb的童鞋们一些引导性的帮助。
java操作mongodb增删改查mongodb查询 in like 修改自增
java 操作mongodb代码,可直接运行成功,作为初学者非常实用。其中数据库是包含用户名和密码,用户名root ,密码root。
mongoDB增删改查+前端页面实现+idea+themlesf+mybatis
java连接Mongodb进行增删改查,包括查询、删除、增加等功能
演示了JAVA怎样操作mongodb数据库进行增删改查操作。
java对mongodb数据库的增删改查测试demo。可直接运行,需要自己安装mongodb数据库,需要手动添加bins包下面的jdbc的jar包和junit4的jar包。包含自己写的mongodb安装文档。
mongodb + spring3.1.1增删改查例子,修改了JAR包冲突的BUG。可运行。
Mongodb连接池、增删改查实例套装内包含三个实例很适合初学者学习
nodejs+express+mongodb 博客系统增删改查完整版,包括用户注册,博客发表,博客修改,博客删除,权限控制。后台连接mongodb:blog
MongoDb增删改查的网站范例,Using the spring-data project and the mongodb adapter specifically.
MongoDB增删改查操作案例-用户信息增删改查.zip
java mongodb增删改查示例
Mongodb项目缓存技术 增删改查,以及求交并差集合,类似于朋友推荐、共同好友。
附件主要是记载了出差时模块开发过程中MongoDB和MySQL常用的增删改查语句
一个完全符合企业设计规范的Java操作MongoDB数据库,涉及各种增删改查操作及@Test增删改查使用示范,可极大方便MongoDB开发,可直接通过代码学习MongoDB的使用。 使用环境:Myeclipse、MongoDB
NULL 博文链接:https://kavy.iteye.com/blog/1949385
MongoDB Java操作大全 源代码 实例