MongoDB学习日记 - java代码(五):增删改查
来源:互联网 发布:java concurrent i自增 编辑:程序博客网 时间:2024/05/22 16:53
这里的示例代码都是简要代码,详细代码可以参考我打包好的代码,地址:百度云 mongo-demo.rar
Insert
- insertOne() : 插入单个
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 构建Document Document doc = new Document("name", "MongoDB") .append("type", "database") .append("count", 1) .append("info", new Document("x", 203).append("y", 102));// 插入单个Document collection.insertOne(doc);// 关闭连接client.close();
语法解释:(如果看不懂解释,那么请参考:MongoDB学习日记(四):insert)
db.test.insert({ name : "MongoDB", type : "database", count : 1, info : { x : 203, y : 102 } })
- insertMany() : 插入多个
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 用List来存放多个DocumentList<Document> documents = new ArrayList<>();for (int i = 0; i < 100; i++) { documents.add(new Document("i", i));}// 插入多个Documentcollection.insertMany(documents);// count()得到集合的数据总数 System.out.println(collection.count());//关闭连接 client.close();
语法解释:
for(var i; i < 100; i++ ) { db.test.insert({"i":i});}/* count() */db.test.count()
find
(注:如果看不懂代码中的语法解释,请参考:MongoDB学习日记(五):find)
- find()
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 语法解释 : db.test.find()FindIterable<Document> docs = collection.find();for (Document document : docs) { System.out.println(document.toJson());}
- frist()
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 语法解释 :db.collection.find().limit(1),当然也可以使用javascript取结果集的第一个Document myDoc = collection.find().first();System.out.println(myDoc.toJson());
- Filters.gt() / Filters.lt() …
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 语法解释 :db.collection.find({i:1})FindIterable<Document> docs = collection.find(Filters.eq("i",1));for (Document document : docs) { System.out.println(document.toJson());}
- Filters.and() / Filters.or() …
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 语法解释 : db.collection.find({i:{$gt:1},i:{$lt:3}})FindIterable<Document> docs = collection.find(Filters.and(Filters.gt("i",1),Filters.lt("i",3)));for (Document document : docs) { System.out.println(document.toJson());}
- iterator()
iterator 是 MongoDB 提供的遍历的方法,返回 MongoCursor<Document> cursor
。
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// iterator 遍历MongoCursor<Document> cursor = collection.find().iterator();try { while (cursor.hasNext()) { System.out.println(cursor.next().toJson()); }} finally { cursor.close();}
- block
注意,block 不是一个方法,而是一个接口对象,可以按照自己的需要,来操作 Document。
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 创建Block对象,这里就打印下查询到的 DocumentBlock<Document> printBlock = new Block<Document>() { @Override public void apply(Document t) { System.out.println(t.toJson()); }};// 查询到的结果,调用forEach遍历执行printBlockcollection.find(Filters.gt("i", 90)).forEach(printBlock);
- sort()
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 语法解释 : db.collection.find({i:{$exists:true}},{_id:0}).sort({i:-1}).limit(1)Document myDoc = collection.find(Filters.exists("i")).sort(Sorts.descending("i")).first();System.out.println(myDoc.toJson());
注意 : exists()
和 $exists
,$exists
之前也讲过了,个人感觉这个应该很有用的,因为 MongoDB 的存储是没有固定字段的。
- Projections.excludeId() :不查询_id
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 语法解释 : db.collection.find({},{_id:0})Document myDoc = collection.find().projection(Projections.excludeId()).first();System.out.println(myDoc.toJson());
update
(注:如果看不懂此部分代码中的语法解释,请参考:MongoDB学习日记(六):update)
- updateOne()
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 语法解释 : db.test.update({i:10}},{$set:{i:110}})UpdateResult ur = collection.updateOne(Filters.eq("i", 1), new Document("$set", new Document("i", 110)));System.out.println(ur);FindIterable<Document> docs = collection.find(Filters.eq("i", 110));for (Document document : docs) { System.out.println(document.toJson());}client.close();
- updateMany()
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");FindIterable<Document> docs = collection.find(Filters.eq("i",110));for (Document document : docs) { System.out.println(document.toJson());}// 语法解释 : db.test.update({i:{$lt:100}},{$inc:{i:100}})UpdateResult updateResult = collection.updateMany(Filters.lt("i", 100), new Document("$inc", new Document("i", 100)));System.out.println(updateResult.getModifiedCount());// 查询检验FindIterable<Document> documents = collection.find();for (Document document : documents) { System.out.println(document.toJson());}client.close();
replaceOne() :替换
(注:只有 replaceOne,没有 replaceMany)
// 建立连接MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");// 语法解释 :先find查询,然后使用整体更新:db.test.update({i:120},document)UpdateResult ur = collection.replaceOne(Filters.eq("i", 120), new Document("i", 200));System.out.println(ur);FindIterable<Document> docs = collection.find(Filters.eq("i", 200));for (Document document : docs) { System.out.println(document.toJson());}client.close();
delete
- deleteOne()
MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");DeleteResult dr = collection.deleteOne(Filters.eq("i", 100));System.out.println(dr);client.close();
- deleteMany()
MongoClient client = new MongoClient();MongoDatabase database = client.getDatabase("mydb");MongoCollection<Document> collection = database.getCollection("test");DeleteResult dr = collection.deleteMany(Filters.exists("i"));System.out.println(dr);client.close();
我写博客时多加了很多解释和代码,可能不小心贴错代码,具体以我分享的代码为主。
0 0
- MongoDB学习日记 - java代码(五):增删改查
- MongoDB学习(2)增删改查
- Java MongoDB 增删改查
- MongoDB学习十三 --MongoDB的Java增删除改查
- MongoDB使用java代码实现增删改查
- MongoDB(六)java操作mongodb增删改查
- MongoDB学习03之JAVA简单操作增删改查
- hadoop学习之MongoDB增删改查Java实现
- 【数据库学习】java使用Mongodb增删改查
- JAVA增删改查代码
- JAVA增删改查代码
- MongoDB学习笔记(1)HelloWorld(增删改查)
- MongoDB 学习三(数据库的增删改查)
- mongodb-2.增删改查--学习笔记
- MongoDB入门学习(2)增删改查
- MongoDB增删改查
- mongodb增删改查
- MongoDB增删查改
- 利用Python 的 Pandas进行数据分析
- Oracle数据库SQL语句大全
- Windows下如何查看android中指定APP的log日志
- 设置textView的 输入框
- hdoj4705Y【树形dp+简单组合数学】
- MongoDB学习日记 - java代码(五):增删改查
- java三大框架起源
- 字典
- js合并数组
- js时间日期处理
- 打造高性能JAVA应用你需要知道的
- oracle数据导入导出表等系列操作总结
- 将开发板中显示的图像保存为bmp
- 手动设置SwipeRefreshLayout的setRefreshing(true)遇到的问题