java对mongoDB 的基本操作

本文介绍如何使用Java进行MongoDB的基本操作,包括连接数据库、创建集合、文档增删改查及排序分页等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 获取链接
MongoClient client = MongoDBConnection.getInstance("192.168.128.104", 27017);
  • 获取数据库
MongoDatabase mongoDatabase = client.getDatabase(database);
  • 创建文档集合
mongoDatabase.createCollection(collection);
  • 获取文档集合
MongoCollection< Document> collection=database.getCollection("users");
//设置查找条件
Bson filterBson = Filters.gte("sul1", "sul1");
Bson filter2 = Filters.gte("xul2", "xul2");
//多个条件组合
Bson bson = Filters.and(filter2,filterBson);
FindIterable< Document> result = collection.find(bson);
for(Document doc : result){
    System.out.println(doc.get("sul1"));
}
  • 文档添加操作
Document document = new Document();
document.append("sul1", "sul1").append("xul2", "xul2");     
List<Document> list = new ArrayList<Document>();
list.add(document);
MongoDatabase database = this.getMongoDataBase("xul");
MongoCollection< Document> collection = database.getCollection("users");
collection.insertMany(list);
  • 排序并查询一条数据
MongoCollection table = getCollection();
BasicDBObject dbObject = new BasicDBObject();
//mongodb中按age字段倒序查询(-1是倒序,1是正序)
dbObject.put("age",-1);
FindIterable iterate =table.find().sort(dbObject).limit(1);
  • 分页查询
int pageSize = 3;
MongoCollection table = getCollection();
//mongodb分页查询出游标
MongoCursor cursor = table.find().limit(pageSize).skip((pageIndex - 1) * pageSize).iterator();
System.out.println("当前页:" + pageIndex);
while (cursor.hasNext()) {
    System.out.println(cursor.next());
}
  • 显示数据库中的所有数据
public void displayDb()
 {
     MongoClient mongo = new MongoClient(host, port);
    MongoIterable<String> dbs= mongo.listDatabaseNames();
     for (String name:dbs)
     {
         System.out.println(name);
     }
 }
  • 获取指定库下的所有集合
 public void displayTable() {
     MongoDatabase db = getDb();
     MongoIterable<String> tables = db.listCollectionNames();
     for (String name : tables) {
         System.out.println(name);
     }
 }
  • 删除操作
public void delete() {
     MongoCollection table = getCollection();
     Document document = new Document();
     document.put("name", "xul");
     DeleteResult result = table.deleteMany(document);
 }
  • 更新操作
    public void updateDocument(){
        MongoCollection<Document> collection = this.getCollection();        
        BasicDBObject upda = new BasicDBObject();
        upda.append("xul2", "testupdatexul");   
        BasicDBObject object = new BasicDBObject();
        object.append("$set", upda);
        collection.updateOne(Filters.gte("sul1", "sul1"), object);          
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值