`
点虫虫
  • 浏览: 18209 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

MongoDB试用

阅读更多

 

public class TestMongoDB {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		TestMongoDB t = new TestMongoDB();
		DB db = t.conn();
		t.insert(db);
//		t.findFirst(db);
//		t.loopInsert(db);
//		t.count(db);
//		t.getIterateColl(db);
//		t.getData(db);
//		t.update(db);
//		t.delete(db);
	}
	//连接mongo db
	public DB conn(){
		DB db = null;
		try {
			Mongo m = new Mongo("192.168.1.129",27017);
			db = m.getDB("test");
			return db;
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (MongoException e) {
			e.printStackTrace();
		}
		return db;
	}
	
	//获取所有collections名字,类似于获取所有table名字。
	public void getCollections(DB db){
		Set<String> result = db.getCollectionNames();
		for(String s:result){
			System.out.println(s);
		}
	}
	
	//插入数据
	public void insert(DB db){
		DBCollection coll = db.getCollection("MonTest");
		BasicDBObject doc = new BasicDBObject();
		doc.put("name", "郑家豪");
		doc.put("sno", 1001);
		doc.put("school", "广东商学院");
		BasicDBObject friends = new BasicDBObject();
		
		BasicDBObject f1 = new BasicDBObject();
		f1.put("name", "苗露");
		f1.put("id", 1);
		f1.put("hobbit", "football");

		BasicDBObject f2 = new BasicDBObject();
		f2.put("name", "詹婷婷");
		f2.put("id", 2);
		f2.put("hobbit", "football");
		
		friends.put("f1",f1);
		friends.put("f2",f2);
		
//		friends.put("f1","苗露");
//		friends.put("f2","詹婷婷");
		
//		doc.put("friends", friends);
//		BasicDBObject[] fs = new BasicDBObject[]{f1,f2};
//		doc.put("friends", fs);
		ArrayList<BasicDBObject> fl = new ArrayList<BasicDBObject>();
		fl.add(f1);
		fl.add(f2);
		doc.put("friends", fl);
		
		coll.insert(doc);
	}
	//找到第一条数据
	public void findFirst(DB db){
		DBCollection coll = db.getCollection("MonTest");
		DBObject doc = coll.findOne();
		System.out.println(doc);
	}
	
	//循环插入数据
	public void loopInsert(DB db){
		DBCollection coll = db.getCollection("MonTest");
		for(int i=0;i<101;i++){
			coll.insert(new BasicDBObject().append("i", i));
		}
	}
	//统计一个collection的条数
	public void count(DB db){
		DBCollection coll = db.getCollection("MonTest");
		System.out.println(coll.getCount());
	}
	
	//遍历一个collection
	public void getIterateColl(DB db){
		DBCollection coll = db.getCollection("MonTest");
		DBCursor cursor = coll.find();
		while(cursor.hasNext()){
			DBObject doc = cursor.next();
			System.out.println(doc);
		}
		
	}
	//查找一个collection的一条数据
	public void getData(DB db){
		DBCollection coll = db.getCollection("MonTest");
		BasicDBObject query = new BasicDBObject().append("name", "郑家豪");
		query.put("friends.f1.name","苗露");
		BasicDBObject keys = new BasicDBObject();
		keys.put("friends.f1", 1); //1表示显示  0表示不显示
		DBCursor cursor = coll.find(query,keys);
		while(cursor.hasNext()){
			DBObject doc = cursor.next();
			DBObject friends = (DBObject) doc.get("friends");
			DBObject f1 = (DBObject) friends.get("f1");
			System.out.println(f1.get("name"));
//			System.out.println(doc.get("friends"));
		
		}
	}
	
	//修改多条数据 (updateMulti 修改一条用update)
	public void update(DB db){
		DBCollection coll = db.getCollection("MonTest");
		BasicDBObject query = new BasicDBObject().append("friends.f1.id", 1);
		BasicDBObject update = new BasicDBObject();
		update.put("friends.f1.name", "simon");
		coll.updateMulti(query, new BasicDBObject().append("$set", update));
		DBCursor cursor = coll.find(query);
		while(cursor.hasNext()){
			DBObject doc = cursor.next();
			System.out.println(doc);
		}
	}
	
	//删除 
	public void delete(DB db){
		DBCollection coll = db.getCollection("MonTest");
		BasicDBObject doc = new BasicDBObject().append("friends.f1.id", 1);
		coll.remove(doc);
		getIterateColl(db);
		
		
	}
	
	//优化查找 optimization
	public void optiGetData(DB db){
		DBCollection coll = db.getCollection("MonTest");
	}
	
}
如果想像ORM
public class Friends extends BasicDBObject {
	private String name;
	private String password;
	private int sex;
	
	public Friends(String name, String password, int sex) {
		super();
		this.name = name;
		this.password = password;
		this.sex = sex;
	}
	public Friends(){
		super();
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public int getSex() {
		return sex;
	}
	public void setSex(int sex) {
		this.sex = sex;
	}
	
	//插入
	public void insert(DB db){
		Friends f = new Friends();
		DBCollection coll = db.getCollection("friends");
		f.put("name", "郑家豪");
		f.put("sno", "123456");
		f.put("sex", 0);
		coll.setObjectClass(Friends.class);
		coll.insert(f);
		ObjectId id = (ObjectId)f.get( "_id" );
		System.out.println(id);
		
	}
分享到:
评论

相关推荐

    NoSQL Manager for MongoDB 无限30天试用

    亲测可用, NoSQL Manager for MongoDB 2.7.x, 支持MongoDB 3.0, 下载运行 破解.bat即可

    studio3T无限试用,mongodb图形化管理工具

    studio3T无限试用,mongodb图形化管理工具,运行脚本就可以试用30天,到期后再运行,可以无限试用,脚本可以放到自启动里面,这样就可以自动运行

    studio-3t-x64安装包和无限试用脚本.rar

    总的来说,MongoDB Studio 3T是一个强大而全面的MongoDB管理工具,通过正确安装和利用无限试用脚本,用户可以在试用期内充分体验和利用其各种功能。但为了合法和可持续的使用,考虑购买官方许可证是最佳的选择。

    mongodb-license.txt

    mongodb drive mongodb 驱动 试用idea等 用于mongodb数据连接 dbeaver数据库链接。开放资源

    mongoDB管理软件

    MongoDB管理软件是数据库管理员和开发者的利器,尤其在处理非结构化数据时,MongoDB因其灵活性和高...总的来说,MongoVUE.v1.5.3是MongoDB用户一个实用的工具,尤其对于那些想要免费试用高质量管理软件的个人和团队。

    MongoDB学习视频.zip

    3. **MongoDB Manager Pro**:"mongodbmanagerpro_inst30day.exe"可能是MongoDB管理工具的试用版本安装程序。这样的工具通常提供图形用户界面,帮助用户更方便地管理MongoDB实例,包括监控、备份、恢复和性能优化等...

    mongoDB3.0以上连接工具.zip

    MongoDB是一款开源、分布式、高性能的NoSQL数据库,它以其灵活的数据模型、高效的查询性能以及易于扩展性在现代数据存储领域占据着重要地位。在MongoDB 3.0及以上版本中,开发团队引入了许多新特性,提升了性能和...

    Studio 3T 强大的MongoDB可视化工具 破解免费激活

    Studio 3T 无限30天试用,到期运行一下此文件即可,建议加到开机自动启动,就不用担心过期了

    mongodb compass1.15.1官网版 免安装直接使用

    MongoDB Compass 1.15.1是这个系列的一个版本,它无需安装,可以直接运行,这在许多情况下非常便捷,特别是对于那些希望快速试用或在不同环境中使用的用户。 MongoDB是一款开源的文档型数据库,它是NoSQL数据库的...

    nosql manager for mongodb无限30天使用

    nosql manager for mongodb无限30天使用,运行压缩包中的bat脚本就可,记得运行前保存你的连接信息,不然要重新配置连接信息。

    NoSQL Manager for MongoDB 4.8.2下载

    "不是使用期30天"可能是指该版本并非试用版,用户可以无时间限制地使用,这对于开发者来说是一个非常吸引人的特性,他们可以在项目中长期依赖这个工具而无需担心到期问题。"版本高且稳定4.8"强调了软件的可靠性,...

    NoSQL Manager for MongoDB 3.8.2.4 管理工具

    "授权码随便填即可"的描述可能意味着这个版本可能有一个试用期,用户可以在试用期间无需输入许可证即可使用全部功能。 安装须知.txt文件可能会包含关于如何安装和配置NoSQL Manager for MongoDB的详细步骤,以及...

    MongoDb的安装包

    在MongoDB的官网上下载比较慢,这个自己亲自试用,可以在电脑上安装,一些配置MongoDB数据库的可以在网上当一下,或者去看一下崔庆才老师的博客。

    Why MongoDB is Awesome

    - **在线试用**:通过`http://try.mongodb.org/`可以直接在线体验MongoDB的功能。 - **本地安装**:通过下载对应操作系统的MongoDB安装包,按照步骤进行解压并启动服务即可。 - **多语言支持**:MongoDB提供了丰富的...

    Pycharm连接MongoDB数据库安装教程详解

    下一节开始试用。 到此这篇关于Pycharm连接MongoDB数据库安装教程的文章就介绍到这了,更多相关Pycharm连接MongoDB内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!

    NoSQLBooster for MongoDB 5.0.3 for Windows 免费30天版

    NoSQLBooster for MongoDB (formerly MongoBooster) is a shell-centric cross-platform GUI tool for MongoDB v2.6-4.0, which provides comprehensive server monitoring toolsserver monitoring tools, fluent ...

    NoSQLBooster for MongoDB v4.7.5-破解版.rar

    破解步骤: 1、hosts添加127.0.0.1 nosqlbooster.com、127.0.0.1 www.nosqlbooster.com 2、覆盖resources文件 3、输入License

    navicat for mongoDB12.1.7x64

    在获取Navicat for MongoDB 12.1.7x64免费版时,应注意描述中提到的注册方法,通常官方会提供试用版,而免费版可能需要遵循特定的获取途径,如文中提到的百度云盘分享地址。使用过程中,请确保遵循软件的使用条款,...

    MongoDB客户端破解版

    绿色破解版的MongoDB客户端工具.免安装,不是经常看到的13天试用版,是破解的哟

Global site tag (gtag.js) - Google Analytics