MongoDB 提供了多种语言的连接操作方式,这里以java为例。
通过maven添加driver
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>3.10.2</version>
</dependency>
连接数据库
// 无密码验证
try {
mongoClient = new MongoClient("192.168.0.103", 27017);
mongoDatabase = mongoClient.getDatabase("test");
System.out.println("connect mongoDB successfully");
} catch (Exception e) {
e.printStackTrace();
}
// 账户密码验证
try {
//ServerAddress()两个参数分别为 服务器地址 和 端口
ServerAddress serverAddress = new ServerAddress("192.168.0.103",27017);
List<ServerAddress> addrs = new ArrayList<ServerAddress>();
addrs.add(serverAddress);
//MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码
MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "password".toCharArray());
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
credentials.add(credential);
//通过连接认证获取MongoDB连接
MongoClient mongoClient = new MongoClient(addrs,credentials);
//连接到数据库
MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");
System.out.println("Connect to database successfully");
} catch (Exception e) {
e.printStackTrace();
}
集合操作
首选需要连接数据库,并获取数据库连接。
// 创建集合
mongoDatabase.createCollection("test");
// 获取集合
mongoDatabase.getDatabase("test");
// 删除集合
mongoDatabase.getDatabase("test").drop();
文档操作
首先需要获取集合。
// 插入文档, 文档以document方式存在于数据
// 插入单条记录
Document doc = new Document("name", "Felix").append("from", "shanxi");
collection.insertOne(doc);
// 插入多条检录
List<Document> list = new ArrayList<>();
list.add(doc);
list.add(doc);
collection.insertMany(list);
// 删除文档
// 删除第一个符合条件的记录
collection.deleteOne(Filters.eq("name", "Felix"));
// 删除所有符合条件的记录
collection.deleteMany(Filters.eq("name", "Felix"));
// 更新文档, 同上
collection.updateOne(Filters.eq("name", "Felix"), new Document("$set",new Document("from","sx")));
collection.updateMany(Filters.eq("name", "Felix"), new Document("$set",new Document("from","sx")));
// 查询文档
FindIterable<Document> findIterable = collection.find(); // find可以添加查询条件参数
MongoCursor<Document> mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
System.out.println(mongoCursor.next());
}