-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMongoDBMgr.java
More file actions
68 lines (54 loc) · 2.15 KB
/
Copy pathMongoDBMgr.java
File metadata and controls
68 lines (54 loc) · 2.15 KB
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
package mongodb;
import java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import com.mongodb.Block;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoOptions;
import com.mongodb.ServerAddress;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
public class MongoDBMgr {
private static final String HOST = "192.168.96.141";
private static final int PORT = 27017;
public static final MongoClient mongoClient;
static {
MongoClientOptions mongoClientOptions = MongoClientOptions.builder().connectionsPerHost(10).minConnectionsPerHost(2).build();
ServerAddress serverAddress = new ServerAddress(HOST, PORT);
mongoClient = new MongoClient(serverAddress, mongoClientOptions);
}
public static void insertOne(String tableName, String collectionName, Document doc) {
getCollection(tableName, collectionName).insertOne(doc);
}
public static void insertMany(String tableName, String collectionName, List<Document> docs) {
getCollection(tableName, collectionName).insertMany(docs);
}
public static List<Document> findAll(String tableName, String collectionName) {
List<Document> modelList = new ArrayList<Document>();
FindIterable<Document> allResult = getCollection(tableName, collectionName).find();
allResult.forEach(new Block<Document>() {
@Override
public void apply(Document t) {
modelList.add(t);
}
});
return modelList;
}
public static List<Document> findMany(String tableName, String collectionName, Document filter) {
List<Document> modelList = new ArrayList<Document>();
FindIterable<Document> allResult = getCollection(tableName, collectionName).find(filter);
allResult.forEach(new Block<Document>() {
@Override
public void apply(Document t) {
modelList.add(t);
}
});
return modelList;
}
public static MongoCollection<Document> getCollection(String tableName, String collectionName) {
MongoDatabase mongoDatabase = mongoClient.getDatabase(tableName);
return mongoDatabase.getCollection(collectionName);
}
}