使用 java-api进行简单的增查改删
新建 Maven 工程
本文使用的时 IDAEA 来进行编程
建立的工程是 maven-quickstart
添加依赖
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.2.2</version>
</dependency>
代码实现
注意:此处的 MongoDB 已经设置了账户密码
package nj.zb.mongtest;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document;
import org.bson.conversions.Bson;
import org.bson.types.ObjectId;
import java.util.ArrayList;
import java.util.List;
/**
* @author: 03-CJH
* @date:2020/6/11
* @desc:
*/
public class MongoDemo {
public static void main(String[] args){
ServerAddress serverAddress = new ServerAddress("192.168.48.141", 27017);
List<ServerAddress> addresses = new ArrayList<>();
addresses.add(serverAddress);
MongoCredential mongoCredential =
MongoCredential.createScramSha1Credential("test","test","test".toCharArray());
List<MongoCredential> credentials = new ArrayList<>();
credentials.add(mongoCredential);
MongoClient mongoClient = new MongoClient(addresses,credentials);
MongoDatabase testdb = mongoClient.getDatabase("test");
System.out.println(testdb);
#创建表
testdb.createCollection("tb1");
MongoCollection<Document> studentTB = testdb.getCollection("student");
#插入数据
List<Document> docs = new ArrayList<>();
Document doc1 = new Document();
doc1.append("id",1).append("name","zs").append("age",21).append("gender","男");
docs.add(doc1);
Document doc2 = new Document();
doc2.append("id",1).append("name","ls").append("age",21).append("gender","男");
docs.add(doc2);
Document doc3 = new Document();
doc3.append("id",1).append("name","ww").append("age",21).append("gender","男");
docs.add(doc3);
studentTB.insertMany(docs);
#查询全部
FindIterable<Document> stus = studentTB.find();
for (Document stu : stus) {
System.out.println(stu.toJson());
}
#多条件查询
Bson stuName = Filters.eq("name", "zs");
Bson stuGender = Filters.eq("gender", "女");
Bson and = Filters.or(stuName, stuGender); //and or
FindIterable<Document> stus = studentTB.find(and);
for (Document stu : stus) {
System.out.println(stu.toJson());
}
#更新数据
Bson id = Filters.eq("id", 1);
Document document = new Document("$set",new Document("age", 25));
studentTB.updateOne(id,document);
#删除
ObjectId objectId = new ObjectId("5ee1b21033c2f41694d47ac6");
Bson id = Filters.eq("_id", objectId);
studentTB.deleteOne(id);
#多条件删除
Bson age = Filters.gte("age", 21);
Bson age1 = Filters.lte("age", 23);
Bson and = Filters.and(age, age1);
studentTB.deleteMany(and);
System.out.println("successful");
}
}