MongoDB基础CRUD JAVA语句

部署方法:首先下载mongodb-win32-i386-v1.6-latest.zip,解压缩,在解压缩的硬盘分区下简历data/db,将解压缩后文件夹的bin目录加入环境便令,进入cmd执行mongod.exe即可运行服务器
//驱动版本为2.10.1
//按正则语句查询那里可能有一点问题,持续更新
import java.net.UnknownHostException;
import java.util.Set;
import java.util.regex.Pattern;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import com.mongodb.WriteResult;

public class Test {

	public static void main(String[] args) throws UnknownHostException {
		// TODO Auto-generated method stub
		MongoClient client = new MongoClient("localhost",27017);
		DB db = client.getDB("haha");//连接数据库,会顺便建库
		//添加数据库用户,如果重复添加不会报错
		db.addUser("root", "123456".toCharArray());//
		
		System.out.println(db.authenticate("root", "123456".toCharArray()));//登录数据库,true为成功,false为失败
		Set nameSet = db.getCollectionNames();//得到集合的名字
		
		//获取集合(列名)
		for (Object object : nameSet) {
			System.out.println("collection名字是"+object);
		}
		//建一个表(集合)
		BasicDBObject basicDBObject = new BasicDBObject();//一个dbOBject存一条数据
//		DBCollection collection = db.createCollection("col1", basicDBObject);//如果之前已经建表那么就会报错
		
		//获得一个表
		DBCollection collection2 = db.getCollection("col1");
		
		//插入一条数据
		basicDBObject.append("name", "jack3");
		basicDBObject.append("age",11);
		collection2.insert(basicDBObject);//保存数据
		
		//数据库查询
		DBCursor cursor = collection2.find();
		while(cursor.hasNext()){
			DBObject obj = cursor.next();//obj.toStirng()是一个json字符串
			System.out.println("name:"+obj.get("name"));
			System.out.println("age:"+obj.get("age"));
		}
		//分页查询
		DBCursor cursor2 = collection2.find().skip(0).limit(10);
		while(cursor2.hasNext()){
			DBObject obj = cursor2.next();
			System.out.println("name:"+obj.get("name"));
			System.out.println("age:"+obj.get("age"));
		}
		//设置查询条件
		BasicDBObject basicDBObject2 = new BasicDBObject();
		basicDBObject2.put("age", new BasicDBObject("$gte",10).append("$lte", 12));//这个查询用的DBobject在这之前不要append或者put
		DBCursor cursor3 = collection2.find(basicDBObject2);
		System.out.println("查询结果数量是"+cursor3.size());
		while(cursor3.hasNext()){
			DBObject obj = cursor3.next();
			System.out.println("条件查询 age是"+obj.get("age")+obj.get("name"));
		}
		//in查询
		BasicDBObject basicDBObject3 = new BasicDBObject();
		basicDBObject3.put("age", new BasicDBObject("$in",new Integer[]{11,12}));
		DBCursor cursor4 = collection2.find(basicDBObject3);
		while(cursor4.hasNext()){
			DBObject obj = cursor4.next();
			System.out.println(obj);
		}
		
		//执行模糊查询
		Pattern pattern = Pattern.compile("j.*");//设置过滤条件
		BasicDBObject basicDBObject4 = new BasicDBObject();
		basicDBObject.put("name", new BasicDBObject("$regex", pattern));
		DBCursor cursor5 = collection2.find(basicDBObject);
		while(cursor5.hasNext()){
			DBObject obj = cursor5.next();
			System.out.println("正则查询"+obj);
		}
		
		//修改行操作
		BasicDBObject basicDBObject5 = new BasicDBObject();
		basicDBObject5.put("name", "jack2");//设置修改筛选条件
		BasicDBObject basicDBObject6 = new BasicDBObject();
		basicDBObject6.put("$set", new BasicDBObject("name","修改后name"));
		WriteResult result = collection2.updateMulti(basicDBObject5,basicDBObject6);//第一个参数是查询条件,第二个参数设置改后属性
		System.out.println(result.getN());//返回被修改的行数
		
		//删除行操作,把符合条件全删掉
		BasicDBObject basicDBObject7 = new BasicDBObject();
		basicDBObject5.put("name", "修改后name");//设置删除筛选条件
		WriteResult result2 = collection2.remove(basicDBObject7);//第一个参数是查询条件,第二个参数设置改后属性
		System.out.println(result.getN());//不管删几行都返回1
		
		//关闭连接
		client.close();
		
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值