Java操作MongoDB 入门
mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。 我们通过一个入门的案例来了解mongodb-driver的基本使用
传统查询
查询全部记录
(1)创建工程 mongoDemo, 引入依赖
代码语言:javascript复制<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb‐driver</artifactId>
<version>3.6.3</version>
</dependency>
</dependencies>
(2)创建测试类
代码语言:javascript复制/*** MongoDb入门小demo */
public class MongoDemo {
public static void main(String[] args) {
MongoClient client=new MongoClient("192.168.184.134");//创建连接
MongoDatabase spitdb = client.getDatabase("spitdb");//打开数据库
MongoCollection<Document> spit = spitdb.getCollection("spit");// 获取集合
FindIterable<Document> documents = spit.find();//查询记录获取文档集 合
for(Document document:documents){
System.out.println("内容:" document.getString("content"));
System.out.println("用户ID:" document.getString("userid"));
System.out.println("浏览量:" document.getInteger("visits"));
}
client.close();//关闭连接
}
}
条件查询
BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key- value的数据结构,用起来和HashMap是基本一致的。
(1)查询userid为1013的记录
代码语言:javascript复制public class MongoDemo1 {
public static void main(String[] args) {
MongoClient client = new MongoClient("192.168.184.134");//创建连接
MongoDatabase spitdb = client.getDatabase("spitdb");//打开数据库
MongoCollection<Document> spit = spitdb.getCollection("spit");// 获取集合
BasicDBObject bson = new BasicDBObject("userid", "1013");// 构建查询 条件
FindIterable<Document> documents = spit.find(bson);//查询记录获取结 果集合
for (Document document : documents) {
System.out.println("内容:" document.getString("content"));
System.out.println("用户ID:" document.getString("userid"));
System.out.println("浏览量:" document.getInteger("visits"));
}
client.close();//关闭连接
}
} } }
(2)查询浏览量大于1000的记录
代码语言:javascript复制public class MongoDemo2 {
public static void main(String[] args) {
MongoClient client = new MongoClient("192.168.184.134");//创建连接
MongoDatabase spitdb = client.getDatabase("spitdb");//打开数据库
MongoCollection<Document> spit = spitdb.getCollection("spit");// 获取集合
BasicDBObject bson = new BasicDBObject("visits", new BasicDBObject("$gt", 1000));
// 构建查询条件 等同于find({visits:{$gt:1000}})
FindIterable<Document> documents = spit.find(bson);//查询记录获取结果集合
for (Document document : documents) { // System.out.println("内容:" document.getString("content"));
System.out.println("用户ID:" document.getString("userid"));
System.out.println("浏览量:" document.getInteger("visits"));
}
client.close();//关闭连接
}
}
(3) 插入数据
代码语言:javascript复制public class MongoDemo3 {
public static void main(String[] args) {
MongoClient client=new MongoClient("192.168.184.134");//创建连接
MongoDatabase spitdb = client.getDatabase("spitdb");//打开数据库
MongoCollection<Document> spit = spitdb.getCollection("spit");// 得到集合(类似于数据的表)
Map<String,Object> map=new HashMap(); map.put("content","我要吐槽");
map.put("userid","9999");
map.put("visits",123);
map.put("publishtime",new Date());
Document document=new Document(map);
//MongoDB插入的文档里有个构造函数可以传一个map构成一个Doucument
spit.insertOne(document);//插入数据
client.close();
}
}
SpringDataMongoDB SpringDataJps操作MongoDB
SpringDataMongoDB SpringData家族成员之一,用于操作MongoDb的持久层框架,封装了底层的mongodb- driver。
简单操作,不包含全部操作和全部代码,如果有想更深入了解的可以私信问我 (1)pom.xml引入依赖
代码语言:javascript复制<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring‐boot‐starter‐data‐mongodb</artifactId>
</dependency>
<dependency>
<groupId>com.tensquare</groupId>
<artifactId>tensquare_common</artifactId>
<version>1.0‐SNAPSHOT</version>
</dependency>
(2)创建application.yml
代码语言:javascript复制server: port: 9006
spring:
application:
name: tensquare‐spit #指定服务名
data:
mongodb:
host: 192.168.184.134
database: spitdb