import org.bson.Document;
public static void update(MongoCollection<Document> collection){
//更新文档 将文档中likes=100的文档修改为likes=200
collection.updateMany(Filters.eq("name", "zhangsan"), new Document("$set",new Document("name","里斯")));
//检索查看结果
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
System.out.println(mongoCursor.next());
}
}
public static void select(MongoCollection<Document> collection) {
/**
* 1. 获取迭代器FindIterable<Document>
* 2. 获取游标MongoCursor<Document>
* 3. 通过游标遍历检索出的文档集合
* */
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> mongoCursor = findIterable.iterator();
while (mongoCursor.hasNext()) {
System.out.println(mongoCursor.next());
}
}
public static void insert(MongoCollection<Document> collection){
//插入文档
/**
* 1. 创建文档 org.bson.Document 参数为key-value的格式
* 2. 创建文档集合List<Document>
* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用 mongoCollection.insertOne(Document)
* */
Document document = new Document("title", "MongoDB").
append("description", "database").
append("likes", 100).
append("by", "Fly");
Document document2 = new Document("title", "MongoDB2").
append("description", "database").
append("likes", 100).
append("by", "Fly");
List<Document> documents = new ArrayList<Document>();
documents.add(document);
documents.add(document2);
//这里不能插入多个相同的document,因为_id这里其实已经固定了
System.out.println("文档插入成功");
}
public static void delete(MongoCollection<Document> collection){
//删除符合条件的第一个文档
collection.deleteOne(Filters.eq("a", 3.0));
//删除所有符合条件的文档
collection.deleteMany (Filters.eq("name", "里斯"));
//检索查看结果
FindIterable<Document> findIterable = collection.find();
MongoCursor<Document> mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
System.out.println(mongoCursor.next());
}
}
public static void main(String[] args) {
// 连接到 mongodb 服务
MongoClient client = new MongoClient("localhost", 27017);
System.out.println("连接成功");
// 连接到数据库
MongoDatabase database = client.getDatabase("db");
System.out.println("获得了db数据库");
//获取集合
MongoCollection<Document> collection = database.getCollection("user1");
System.out.println("集合获取成功");
delete(collection);
}