先引入mongo-java-dirver驱动

1
2
3
4
5
6
<!-- mongo-java-dirver -->
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.4.2</version>
</dependency>

代码操作演示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package com.simple.database.test;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import org.bson.conversions.Bson;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
/**
 * java操作MongoDB
 * @author root
 */
public class HelloMongoDB {
    public static void main(String[] args) {
        try {
//          1、连接到MongoDB服务
            MongoClient mc = new MongoClient("127.0.0.1"27017);
//          2、连接到指定数据库
            MongoDatabase db = mc.getDatabase("demodb");
             
//          3、创建集合
//          db.createCollection("simplelife");
             
//          4、获取集合
            MongoCollection<Document> collection = db.getCollection("users");
//          5、插入文档数据
//          insertCollectionData(collection);
             
//          6、查询文档数据
            findCollectionData(collection);
             
//          7、更新文档数据
//          将文档中likes=100的文档修改为likes=200   
            updateCollectionData(collection);
             
//          8、删除第一个文档数据
            collection.deleteMany(Filters.eq("likes",200));
            collection.deleteOne(Filters.eq("likes",100));
        catch (Exception e) {
            e.printStackTrace();
            System.out.println(e.getClass().getName() + "……" + e.getMessage());
        }
    }
    private static void updateCollectionData(
            MongoCollection<Document> collection) {
        Bson filter = Filters.eq("likes"100);
        Document update = new Document("$set"new Document("likes"200));
        collection.updateMany(filter, update);
    }
    private static void findCollectionData(MongoCollection<Document> collection) {
        FindIterable<Document> findIterable = collection.find();
        MongoCursor<Document> mongoCursor = findIterable.iterator();
        while(mongoCursor.hasNext()){
            System.out.println(mongoCursor.next());
        }
    }
    /**
     * 插入文档 1、创建文档org.bson.Document参数为key-value的格式
     * 2、创建文档集合List<Document>
     * 3、将文档集合插入数据库集合:mongoCollection.insertMany(List<Document>)
     * 插入单个文档可以用 :mongoCollection.insertOne(Document)
     */
    private static void insertCollectionData(
            MongoCollection<Document> collection) {
        Document document = new Document("title""MongoDB");
        document.append("description""database").append("likes"100)
                .append("by""Fly");
        List<Document> documents = new ArrayList<>();
        documents.add(document);
        collection.insertMany(documents);
        System.out.println("文档插入成功!");
    }
}