mongodb+java基本操作
2014-01-10 11:08
344 查看
Mongo:连接本地数据库,实例化的时候就已经连接到不乐迪数据库
如:
Mongo m=new Mongo();
DB:数据库类,mongo创建的数据库类
如:
DB db=m.getDB("db");//创建db数据库
DBCollection:类似于关系型数据库的表
如:
DBCollection collection=db.getCollection("new");//创建new集合
BasicDBObject:最终插入数据库的db对象
如:
BasicDBObject obj=new BasicDBObject();
obj.put("name","jack");
集合的增删查改:
增加:collection.insert(obj);
查询:DBCursor cursor=collection.find();
更新:
删除:
具体代码如下:
需要添加mongo-1.4.jar包。
package com._21cn.hello;
import java.net.UnknownHostException;
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 Test {
/**
* @throws MongoException
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException,
MongoException {
// TODO Auto-generated method stub
// 连接本地数据库:实例化的时候就已经连接到本地数据库
Mongo m = new Mongo();
// 创建名为new_test_db的数据库
DB db = m.getDB("new_test_db");
//==========================================获取集合
// 获取new_test_db中的集合(类似于获取关系数据库中的表)
Set<String> cols = db.getCollectionNames();
// 打印出new_test_db中的集合,这里应当为null
for (String s : cols) {
System.out.println("表名:"+s);
}
//===========================================创建集合
// 创建一个叫做"new_test_col"的集合
DBCollection collection = db.getCollection("new_test_col");
// 初始化一个基本DB对象,最终插入数据库的就是这个DB对象
BasicDBObject obj = new BasicDBObject();
// 放入几个键值对
obj.put("from", "搞搞");
obj.put("to", "宝宝");
obj.put("subject", "狗子爱宝子");
//插入对象
collection.insert(obj);
//查看一条记录,findOne()=find().limit(1);
DBObject dbobj=collection.findOne();
//打印出刚才插入的数据
System.out.println("刚才放进的数据:"+dbobj);
//=================================================批处理
//现在我们来插入9条{ranking:i}的数据
for(int i=0;i<9;i++){
collection.insert(new BasicDBObject().append("ranking", i));
}
//打印集合中的数据总数,这里应当输出10
System.out.println("总数:"+collection.getCount());
//================================================遍历游标
//下面我们来遍历集合,find()方法返回的是一个游标(cursor),这里的概念和关系数据库很相似
DBCursor cursor=collection.find();
//然后我们使用这个游标来遍历集合
while(cursor.hasNext()){
System.out.println(cursor.next());
}
//================================================查询
//下面来看一些略复杂一点的查询技巧,第一个,简单的条件查询,查询ranking为1的记录
BasicDBObject query=new BasicDBObject();
query.put("ranking", 1);
cursor=collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
//===============================================大于5小于9
//下面是更复杂的条件查询,查询ranking大于5小于9的记录
query=new BasicDBObject();
query.put("ranking", new BasicDBObject("$gt", 5).append("$lt", 9));
cursor=collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
BasicDBObject query1=new BasicDBObject();
query1.put("from","搞搞");
BasicDBObject query2=new BasicDBObject();
query2.put("from","你好");
collection.update(query1, query2);
while(cursor.hasNext()){
System.out.println("更新数据"+cursor.next());
}
//===================================================删除测试库
//最后删除我们的测试数据库
m.dropDatabase("new_test_db");
}
}
如:
Mongo m=new Mongo();
DB:数据库类,mongo创建的数据库类
如:
DB db=m.getDB("db");//创建db数据库
DBCollection:类似于关系型数据库的表
如:
DBCollection collection=db.getCollection("new");//创建new集合
BasicDBObject:最终插入数据库的db对象
如:
BasicDBObject obj=new BasicDBObject();
obj.put("name","jack");
集合的增删查改:
增加:collection.insert(obj);
查询:DBCursor cursor=collection.find();
更新:
删除:
具体代码如下:
需要添加mongo-1.4.jar包。
package com._21cn.hello;
import java.net.UnknownHostException;
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 Test {
/**
* @throws MongoException
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException,
MongoException {
// TODO Auto-generated method stub
// 连接本地数据库:实例化的时候就已经连接到本地数据库
Mongo m = new Mongo();
// 创建名为new_test_db的数据库
DB db = m.getDB("new_test_db");
//==========================================获取集合
// 获取new_test_db中的集合(类似于获取关系数据库中的表)
Set<String> cols = db.getCollectionNames();
// 打印出new_test_db中的集合,这里应当为null
for (String s : cols) {
System.out.println("表名:"+s);
}
//===========================================创建集合
// 创建一个叫做"new_test_col"的集合
DBCollection collection = db.getCollection("new_test_col");
// 初始化一个基本DB对象,最终插入数据库的就是这个DB对象
BasicDBObject obj = new BasicDBObject();
// 放入几个键值对
obj.put("from", "搞搞");
obj.put("to", "宝宝");
obj.put("subject", "狗子爱宝子");
//插入对象
collection.insert(obj);
//查看一条记录,findOne()=find().limit(1);
DBObject dbobj=collection.findOne();
//打印出刚才插入的数据
System.out.println("刚才放进的数据:"+dbobj);
//=================================================批处理
//现在我们来插入9条{ranking:i}的数据
for(int i=0;i<9;i++){
collection.insert(new BasicDBObject().append("ranking", i));
}
//打印集合中的数据总数,这里应当输出10
System.out.println("总数:"+collection.getCount());
//================================================遍历游标
//下面我们来遍历集合,find()方法返回的是一个游标(cursor),这里的概念和关系数据库很相似
DBCursor cursor=collection.find();
//然后我们使用这个游标来遍历集合
while(cursor.hasNext()){
System.out.println(cursor.next());
}
//================================================查询
//下面来看一些略复杂一点的查询技巧,第一个,简单的条件查询,查询ranking为1的记录
BasicDBObject query=new BasicDBObject();
query.put("ranking", 1);
cursor=collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
//===============================================大于5小于9
//下面是更复杂的条件查询,查询ranking大于5小于9的记录
query=new BasicDBObject();
query.put("ranking", new BasicDBObject("$gt", 5).append("$lt", 9));
cursor=collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
BasicDBObject query1=new BasicDBObject();
query1.put("from","搞搞");
BasicDBObject query2=new BasicDBObject();
query2.put("from","你好");
collection.update(query1, query2);
while(cursor.hasNext()){
System.out.println("更新数据"+cursor.next());
}
//===================================================删除测试库
//最后删除我们的测试数据库
m.dropDatabase("new_test_db");
}
}
相关文章推荐
- java对redis的一些基本操作
- java单向链表基本操作简单实现
- JAVA实现DAO基本层CRUD操作
- java对redis2的基本操作
- Java学习提要——File类的基本操作
- java对redis基本操作
- java对redis的基本操作
- java文件的基本操作
- JAVA_基本LDAP操作
- java学习之 io流的基本操作(1)
- Java中的Cookie(1)――基本操作
- Linux基本操作系列(一):在CentOS 6.8安装JDK(Java环境)
- java对redis的基本操作
- Hbase Java编程基本操作
- Java I/O流 (一)---文件流的基本操作
- 线程(3)——JAVA中的基本线程操作(中)
- java对redis的基本操作
- Java中IO操作的基本规律
- Hibernate映射的基本操作 Java类型、Hibernate映射类型以及SQL类型之间的对应关系
- java 链表基本操作