要使用Java操作MongoDB的话,首先下载一个驱动包,将包导入后。具体代码如何写。
首先介绍一下比较常用的几个类
Mongo:连接服务器,执行一些数据库操作的选项,如新建立一个数据库等
DB:对应一个数据库,可以用来建立集合等操作
DBCollection:对应一个集合(类似表),可能是我们用得最多的,可以添加删除记录等
DBObject接口和BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,因为是key-value的数据结构,所以用起来其实和HashMap是基本一致的
DBCursor:用来遍历取得的数据,实现了Iterable和Iterator
代码如下:
import com.mongodb.*;
public class Main {
public static void main(String[] args) {
try{
Mongo m = new Mongo("127.0.0.1");
//选择数据库,如果没有这个数据库的话,会自动建立
DB db = m.getDB("mongo");
//列出所有数据库名,不过发现,如果数据库里面是没有数据的话,并不会被列出来
System.out.println("数据库列表:"+m.getDatabaseNames());
//建立一个集合,和数据库一样,如果没有,会自动建立
DBCollection col = db.getCollection("col");
//列出所有集合名,和数据库一样,如果集合里面是没有数据的话,并不会被列出来
System.out.println("当前数据库下的集合列表:"+db.getCollectionNames());
//建立一个数据项,重复执行会多次添加一样的数据
BasicDBObject val = new BasicDBObject();
val.put("name", "凤姐");
col.save(val);
//保存的数据为
//{ "_id" : "4b8de2f3053068a371e870c0" , "name" : "凤姐"}
//_id是系统自动帮加上的,全局唯一
//多次加入一样的数据时,_id都是不一样的
//取得所有数据并打印出来
DBCursor ite = col.find();
while(ite.hasNext())
{
System.out.println(ite.next());
}
}catch(Exception error)
{
error.printStackTrace();
}
}
}
更新操作
import com.mongodb.*;
public class Main {
public static void main(String[] args) {
try{
Mongo m = new Mongo("127.0.0.1");
DB db = m.getDB("mongo");
DBCollection col = db.getCollection("col");
System.out.println("修改前:");
showData(col);
//查找所有 name=凤姐 的项,并更新
BasicDBObject old_val = new BasicDBObject(),new_val = new BasicDBObject();
old_val.put("name", "凤姐无敌");
new_val.put("name", "凤姐无敌");
col.update(old_val, new_val);//只会更新一个
//col.updateMulti(new_val, old_val)不知道怎么回事,这函数不顶用
System.out.println("修改后:");
showData(col);
}catch(Exception error)
{
error.printStackTrace();
}
}
static void showData(DBCollection col)
{
DBCursor ite = col.find();
while(ite.hasNext())
{
System.out.println(ite.next());
}
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。