Java操作MongoDB的基本操作

目录

Java连接MongoDB

Java操作MongoDB

MongoDB库操作

        查看MongoDB链接中的所有的库

        使用库查看库中的集合

MongoDB集合操作

        插入数据

        删除数据

        修改数据

        查询数据


Java连接MongoDB

1.Java环境中导入MonagDB驱动包

2.获取链接对象

//获取链接对象
MongoClient mongoClient = new MongoClient("localhost",27017);

3.获取数据库对象

//获取数据库对象
MongoDatabase database = mongoClient.getDatabase("myschool");

4.获取集合对象

//获取集合对象
MongoCollection<Document> student = database.getCollection("student");

5.关闭连接

//关闭连接
mongoClient.close();

Java操作MongoDB

MongoDB库操作

        查看MongoDB链接中的所有的库

//查看链接的MongoDB中的所有的库
MongoIterable<String> dblist = mongoClient.listDatabaseNames();

for (String list:dblist) {
    System.out.println(list);
}

        使用库查看库中的集合

        //使用库查看库中的集合
        MongoDatabase database = mongoClient.getDatabase("myschool");

        MongoIterable<String> coollist = database.listCollectionNames();

        for (String list:coollist) {
            System.out.println(list);
        }

MongoDB集合操作

        插入数据

        插入单条数据

//新增单个
Document document = new Document();
document.put("name","老八");
document.put("age",88);
document.put("sex","女");
document.put("wanju","小汽车");

student.insertOne(document);

        插入多条数据

//新增多个
Document document1 = new Document();
document1.put("name","老十");
document1.put("age",55);
document1.put("sex","男");
document1.put("wanju","小汽车");
Document document2 = new Document();
document2.put("name","老十一");
document2.put("age",66);
document2.put("sex","女");
document2.put("wanju","小火车");
Document document3 = new Document();
document3.put("name","老十二");
document3.put("age",77);
document3.put("sex","男");
document3.put("wanju","小电车");
Document document4 = new Document();
document4.put("name","老十三");
document4.put("age",88);
document4.put("sex","女");
document4.put("wanju","小轮船");
Document document5 = new Document();
document5.put("name","老十四");
document5.put("age",99);
document5.put("sex","男");
document5.put("wanju","小飞机");

List<Document> documentList = new ArrayList<Document>();
documentList.add(document1);
documentList.add(document2);
documentList.add(document3);
documentList.add(document4);
documentList.add(document5);

student.insertMany(documentList);

        删除数据

        删除单条数据

//删除单条数据
//将姓名为张三第一个匹配到的数据删除
DeleteResult deleteOne = collection.deleteOne(new Document("name","张三"));

        删除多条数据

//删除多条数据
//将姓名为张三的所有匹配到的数据删除
DeleteResult deleteMany = collection.deleteMany(new Document("name","张三"));

        修改数据

        修改单条数据

//修改单个
//将年龄为20岁第一个匹配到的数据的姓名改为张三
Bson eq = Filters.eq("name", "张三");

UpdateResult updateOne = student.updateOne(eq,new Document("$set",new Document("age","20")));

        修改多条数据

//修改多个
//将年龄为100岁能匹配到的全部数据的姓名改为老八
Bson eq = Filters.eq("name", "老八");

UpdateResult updateMany = student.updateMany(and, new Document("$inc", new Document("age", "100")));

        多条件修改数据

//多条件修改
//将年龄大于等于20小于等于30的性别改为保密
Bson bson = Filters.and(Filters.gte("age", 20),Filters.lte("age", 30));

UpdateResult updateMany = student.updateMany(bson, new Document("$set", new Document("sex", "保密")));

        匹配不到就做新增

//匹配不到就新增
//将年龄为100岁第一个匹配到的姓名改为老八若匹配不到则新增数据
Bson eq = Filters.eq("name", "老八");

UpdateResult updateOne = student.updateOne(eq,new Document("$set",new Document("age","100")),new UpdateOptions().upsert(true));

        查询数据

        全查

//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//全查
FindIterable<Document> find = comm.find();
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){
    System.out.println(inerator.next());
}

        带条件查询

//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//添加条件
Bson bson = Filters.eq("sname","专家说空腹不宜吃早餐");
//带上条件查询
FindIterable<Document> find = comm.find(bson);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){
    System.out.println(inerator.next());
}

        带多个条件查询

//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//添加条件
Bson bson = Filters.and(
    Filters.eq("sname","专家说空腹不宜吃早餐"),
    Filters.gte("sage",8)
);
//带上多个条件查询
FindIterable<Document> find = comm.find(bson);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){
    System.out.println(inerator.next());
}

        模糊查询

//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//添加条件
Bson bson = Filters.regex("sname","吃早餐");
//带上模糊条件查询
FindIterable<Document> find = comm.find(bson);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){
    System.out.println(inerator.next());
}

        分页查询

//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//分页查询
FindIterable<Document> find = comm.find(bson),skip(2),limit(3);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){
    System.out.println(inerator.next());
}

        排序查询

//表对象
MongoCollection<Document> comm = bbsDB.getCollection("student");
//添加排序 1表示升序 -1表示降序
Bson bson = new Document("sid",-1);
//带上排序条件查询
FindIterable<Document> find = comm.find().sort(bson);
//迭代器对象
MongoCursor<Document> iterator = find.iterator();
//循环遍历
while(iterator.hasNext()){
    System.out.println(inerator.next());
}

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值