有MySQL了,为什么还硬要搭个MongoDB集群?( 四 )


//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection(col);
//要插入的数据
List<Document> list = new ArrayList<>();
for (Map<String, Object> data : listData) {
//创建文档
Document document = new Document();
for (Map.Entry<String, Object> m : data.entrySet()) {
document.append(m.getKey(), m.getValue());
}
list.add(document);
}
//插入多个文档
collection.insertMany(list);
}
/**
* 删除匹配到的第一个文档
*/
public static void delectOne (String col, String key, Object value, MongoDatabase mongoDatabase) {
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection(col);
//申明删除条件
Bson filter = Filters.eq(key, value);
//删除与筛选器匹配的单个文档
collection.deleteOne(filter);
}
/**
* 删除匹配的所有文档
*/
public static void deleteMany (String col, String key, Object value, MongoDatabase mongoDatabase) {
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection(col);
//申明删除条件
Bson filter = Filters.eq(key, value);
//删除与筛选器匹配的所有文档
collection.deleteMany(filter);
}
/**
* 删除集合中所有文档
*/
public static void deleteAllDocument(String col, MongoDatabase mongoDatabase) {
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection(col);
collection.deleteMany(new Document());
}
/**
* 删除文档和集合 。
*/
public static void deleteAllCollection(String col, MongoDatabase mongoDatabase) {
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection(col);
collection.drop();
}
/**
* 修改单个文档,修改过滤器筛选出的第一个文档
* @param col 修改的集合
* @param key 修改条件的键
* @param value 修改条件的值
* @param eqKey 要修改的键,如果eqKey不存在,则新增记录
* @param eqValue 要修改的值
* @param mongoDatabase 连接数据库对象
*/
public static void updateOne (String col, String key, Object value,String eqKey, Object eqValue, MongoDatabase mongoDatabase) {
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection(col);
//修改过滤器
Bson filter = Filters.eq(key, value);
//指定修改的更新文档
Document document = new Document("$set", new Document(eqKey, eqValue));
//修改单个文档
collection.updateOne(filter, document);
}
/**
* 修改多个文档
* @param col 修改的集合
* @param key 修改条件的键
* @param value 修改条件的值
* @param eqKey 要修改的键,如果eqKey不存在,则新增记录
* @param eqValue 要修改的值
* @param mongoDatabase 连接数据库对象
*/
public static void updateMany (String col, String key, Object value, String eqKey, Object eqValue, MongoDatabase mongoDatabase) {
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection(col);
//修改过滤器
Bson filter = Filters.eq(key, value);
//指定修改的更新文档
Document document = new Document("$set", new Document(eqKey, eqValue));
//修改多个文档
collection.updateMany(filter, document);
}
/**
* 查找集合中的所有文档
*/
public static MongoCursor<Document> find (String col, MongoDatabase mongoDatabase) {
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection(col);
//查找集合中的所有文档
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> cursorIterator = findIterable.iterator();
return cursorIterator;
}
/**
* 按条件查找集合中文档
*/
public static MongoCursor<Document> Filterfind (String col,String key, Object value, MongoDatabase mongoDatabase) {
//获取集合
MongoCollection<Document> collection = mongoDatabase.getCollection(col);
//指定查询过滤器
Bson filter = Filters.eq(key, value);
//指定查询过滤器查询
FindIterable<Document> findIterable = collection.find(filter);
MongoCursor<Document> cursorIterator = findIterable.iterator();
return cursorIterator;
}
}
测试类
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version></dependency>
package com.example.demo.utils;


推荐阅读