MongoDB 增删改查CRUD 操作

Basic Java CRUD Operations with MongoDB | Javalobby

连接数据库:


Mongo mongo = new Mongo();
DB db = mongo.getDB("todo");
DBCollection items = db.getCollection(
"items");

创建:
[code]
BasicDBObject doc1 = new BasicDBObject();
doc1.put(
"task", "Write Code");
doc1.put(
"priority", "high");
items.insert(doc1);

读取:

BasicDBObject query = new BasicDBObject();
query.put("priority", "highest");
DBCursor cursor = items.find(query);
// Print out "highest" priority items
while (cursor.hasNext()) {
System.out.println(cursor.next());
}

修改:

BasicDBObject findTestItemQuery = new BasicDBObject();
findTestItemQuery.put("task", "Test Code");
DBCursor testItemsCursor = items.find(findTestItemQuery);
if(testItemsCursor.hasNext()) {
DBObject testCodeItem = testItemsCursor.next();
testCodeItem.put(
"task", "Test and Review Code");
items.save(testCodeItem);
}

删除:

BasicDBObject deleteQuery = new BasicDBObject();
deleteQuery.put("priority", "highest");
DBCursor cursor = items.find(deleteQuery);
while (cursor.hasNext()) {
DBObject item = cursor.next();
items.remove(item);
}

Java MongoDB Tutorials教程案例

该文罗列了MongoDB如何在Linux Ubuntu Windows等系统上的安装方法,有关于Java的hello world案例,Java基于MongoDB的授权验证案例,获取集合结果案例,以及增删改查。

有基于Spring的MongoDB案例,包括Spring下的CRUD增删改查。
[该贴被banq于2011-05-23 10:12修改过]

如果对事务的操作不是有很高的要求,完全可以用MongoDB来代替目前的SQL数据库,MongoDB更适合社交类的网站。做一些资金方面的操作,可能不是很合适。

2011年05月30日 10:23 "@spell"的内容
如果对事务的操作不是有很高的要求 ...

是这样,按照CAP原理,MongoDB是CP类型的非关系数据库,比较注重高一致性,有比较快的数据读写更新能力,是介于一般NoSQL和严格关系数据库之间一个产品,适用面积比较大的,过去,其实我们误用了MySQL等关系数据库范围,根据我个人经验,MySQL/ORacle等严格关系数据库和非关系数据库各占据应用的两个极端,中间很厚部分都没有必要使用MySQL关系数据库,这部分使用MongoDB即可。

以前做一个项目,刚开始MongoDB对数据操作基本都在几十毫秒之内,最后当存储数据空间达到几十G时,性能一下子降了很多,访问速度几乎到了崩溃边缘。

最后找到原因,是数据没建索引导致,所以啊,有大数据量的情况千万别忘了建索引。