先引入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("文檔插入成功!");
????}
}