java与mongodb_mongodb与java整合

ServerAddress serverAddress = new ServerAddress("localhost", 27017);

List addresses = new ArrayList();

addresses.add(serverAddress);//mogodb开启的权限验证//类似 db.auth("userName", "pwd")

MongoCredential credential = MongoCredential.createCredential("root", "test", "000000".toCharArray());

List credentials = new ArrayList();

credentials.add(credential);

MongoClient client= newMongoClient(addresses, credentials);//链接到数据库//use test

MongoDatabase mongoDatabase = client.getDatabase("test");

log.info("创建链接成功");//获取集合

MongoCollection item = mongoDatabase.getCollection("item_info");//像集合中插入元素

/*** 1. 创建文档 org.bson.Document 参数为key-value的格式

* 2. 创建文档集合List

* 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List) 插入单个文档可以用 mongoCollection.insertOne(Document)

**/List documents = new ArrayList();

Long startTimeStamp=System.currentTimeMillis();for(int i = 0; i < 10; i++){

Document document= new Document("item_id", UUID.randomUUID().toString())

.append("item_name", "itemName_" +i)

.append("sku", "sku_" +i)

.append("price", Double.parseDouble("5") +i)

.append("desc", "desc_" + "item_name_" +i );//documents.add(document);

item.insertOne(document);

}//item.insertMany(documents);

Long endTimeStamp =System.currentTimeMillis();

System.out.println("=============");

System.out.println("耗费时间:" + ((endTimeStamp - startTimeStamp)) / 1000.0);

System.out.println("=============");//查询//Bson condition =//查询价格小于 200 的商品

FindIterable results = item.find(Filters.lt("price", 10));

MongoCursor iterator =results.iterator();int i = 0;if(null != results &&iterator.hasNext()){while(iterator.hasNext()){

System.out.println("===================");

Document result=iterator.next();

System.out.println(result.get("item_id"));

System.out.println(result.get("item_name"));

System.out.println(result.get("price"));

System.out.println("===================");

i++;

}

}//查总数

System.out.println(i++);

System.out.println("\n");//更新操作//更新操作是针对于collection上面的函数,

UpdateResult s = item.updateMany(Filters.lt("price", 10), new Document("$set",newDocument().

append("price", 11.5)

.append("item_name", "update_item_name")));//查询

FindIterable updateItems = item.find(Filters.eq("item_name", "update_item_name"));

MongoCursor updateIterator =updateItems.iterator();

i= 0;if(null !=updateIterator){while(updateIterator.hasNext()){

Document updateItem=updateIterator.next();

System.out.println("===================");

System.out.println(updateItem.get("item_id"));

System.out.println(updateItem.get("item_name"));

System.out.println(updateItem.get("price"));

System.out.println("===================");

i++;

}

}

System.out.println(s.getModifiedCount());//删除

DeleteResult delete = item.deleteMany(Filters.eq("item_name", "update_item_name"));

System.out.println(delete.getDeletedCount());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值