JAVAEE操作MongoDB数据操作实践

举报
tea_year 发表于 2024/02/28 22:16:09 2024/02/28
【摘要】 JAVAEE操作MongoDB CRUDMongoDB提供的Java操作API可以说是对Mongo数据库命令的Java翻译,熟悉Mongo命令,熟悉Java操作数据库的基本思路,很容易掌握基本操作。一.增加 Create//Document document = new Document();//document.put("name","zhangsan123");//document.pu...



JAVAEE操作MongoDB CRUD

MongoDB提供的Java操作API可以说是对Mongo数据库命令的Java翻译,熟悉Mongo命令,熟悉Java操作数据库的基本思路,很容易掌握基本操作。

一.增加 Create

//Document document = new Document();
//document.put("name","zhangsan123");
//document.put("age",11);
//document.put("addr","shanghai");
//document.put("date",new Date());
//collection.insertOne(document);
//插入多条文档;
Document d2=new Document();
d2.put("name","lisi");
d2.put("age",22);
d2.put("addr","zhegzhou");
d2.put("date",new Date());
Document d3=new Document();
d3.put("name","tom");
d3.put("age",33);
d3.put("addr","shanghai");
d3.put("date",new Date());

List<Document>list=new ArrayList<>();
list.add(d2);
list.add(d3);
collection.insertMany(list);



修改 Update

//获取所有文档;
//获取集合
BasicDBObject old=new BasicDBObject();
old.put("name","lisi");
BasicDBObject newObj=new BasicDBObject();
newObj.put("name","李四");
//更新
BasicDBObject update=new BasicDBObject("$set",newObj);
collection.updateOne(old,update);


2. 查询

@Test
public void testQuery(){
MongoClient client1=new MongoClient("localhost",27017);
MongoDatabase db=client1.getDatabase("test_edu");
//获取所有文档;
//获取集合

MongoCollection collection = db.getCollection("account");
MongoCursor it = collection.find().iterator();
while (it.hasNext()){
       System.out.println(it.next().toString());
}
it.close();
}



@Test
public void teslSel(){
MongoClient client1=new MongoClient("localhost",27017);
MongoDatabase db=client1.getDatabase("test_edu");
MongoCollection collection = db.getCollection("account");
//and查询 ;
//Bson eq = Filters.eq("name", "zhangsan123");
//Bson age = Filters.gt("age", 10);

BasicDBObject bbd=new BasicDBObject();
bbd.put("name","zhangsan123");
bbd.append("age",new BasicDBObject("$gte",8));
FindIterable<Document> findIterable = collection.find(bbd);

for (Document oo : findIterable) {
        System.out.println(oo);
}

System.out.println("------------多条件查询--------------");
//多个查询条件;
BasicDBList dbList=new BasicDBList();
dbList.add(new BasicDBObject("name","李四"));
dbList.add(new BasicDBObject("age",4));
//结合之前的BasicDbObject
BasicDBObject dbObject=new BasicDBObject();
dbObject.put("$or",dbList);
//查询

FindIterable<Document> fit = collection.find(dbObject);
for (Document d22 : fit) {
      System.out.println(d22);
}
FindIterable<Document> iterable8 = collection.find(
Filters.in("name","zhangsan123"));
for (Document doc :iterable8){
     System.out.println(doc.toJson());
}
System.out.println("查询条件sort 按年龄排序(升序) **************************************");
FindIterable<Document> iterable9 = collection.find().sort(new Document("age",1));
for (Document doc :iterable9){
      System.out.println(doc.toJson());
}

System.out.println("查询条件 分页 第二页 每页三条 **************************************");
FindIterable<Document> iterable10 = collection.find().limit(1).skip(1);
for (Document doc :iterable10){
     System.out.println(doc.toJson());
}




3. 删除

BasicDBObject obj = new BasicDBObject();

obj.put("name","wangwu");

collection.deleteOne(obj);





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。