IT虾米网

Java操作MongoDB 3.x

mate10pro 2018年06月08日 程序员 1200 0

一. 添加依赖

<dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.4.2</version> </dependency>

二. 创建连接

private static MongoCollection<Document> collection = null; 
 
public static void main(String[] args){ try { 
        MongoClient client = new MongoClient("ip", 27017); 
        MongoDatabase mydb = client.getDatabase("mydb"); 
        System.out.println("连接成功"); //新创建一个集合 //mydb.createCollection("userinfo"); //获取指定集合的连接 
        collection = mydb.getCollection("userinfo"); 
    } catch (Exception e){ 
        e.printStackTrace(); 
    } 
}

三. 插入

    public void insert(){ 
        Document document = new Document(); 
        document.append("name", "Jack"); 
        document.append("age", 20); 
        document.append("scholl", "Beida"); 
        document.append("address", "guangzhou"); //插入数组 
        document.append("likes", new ArrayList<String>(Arrays.asList(new String[]{"basketball", "football"}))); //插入内嵌文档 
        Document innerDoc = new Document(); 
        innerDoc.append("father", "Ben"); 
        innerDoc.append("mother", "meihua"); 
        document.append("parent", innerDoc); //执行插入 
        collection.insertOne(document); 
    }

四. 查询

1. 查询一个

    /** 
     * 查询一个 
     */ public void findOne(){ //查询第一个文档 
        Document document = collection.find().first(); 
        System.out.println(document.toJson()); 
    }

2. 查询所有

/** 
     * 查询所有 
     */ public void findAll(){ 
        MongoCursor<Document> cursor = collection.find().iterator(); while (cursor.hasNext()){ 
            System.out.println(cursor.next().toJson()); 
        } 
    }

3. 条件查询

    /** 
     * 条件查询,使用BasicDBObject 
     */ public void find(){ 
        BasicDBObject object = new BasicDBObject(); 
        object.put("name", "Jack"); 
        Document doc = collection.find(object).first(); if(doc != null){ 
            System.out.println(doc.toJson()); 
        } 
    }

五、更新

    /** 
     * 更新文档 
     */ public void update(){ //查询要更新的doc 
        BasicDBObject object = new BasicDBObject(); 
        object.put("age", 20); //创建更新的doc 
        BasicDBObject newObj = new BasicDBObject(); 
        newObj.put("age", 50); //具体用什么操作更新 
        BasicDBObject update = new BasicDBObject("$set", newObj); 
        collection.updateOne(object, update); 
    }

六、删除

public void delete(){ 
    BasicDBObject object = new BasicDBObject(); object.put("name", "Jack"); 
    collection.deleteOne(object); 
}

评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!