Java操作mongodb基础实例| 8月更文挑战

355 阅读1分钟

比较基础的简单的java后端可能会用到的mongodb连接操作分享。

查看本地数据库列表

首先设置mongoclient,之后使用测试用例查看本地数据库列表

public class test {
    private static MongoClient mongoClient= new MongoClient("localhost", 27017);
    @Test
    public void getDBs(){
        MongoIterable<String> datanames=mongoClient.listDatabaseNames();
        for (String databasename:datanames
        ) {
            System.out.println(databasename);
        }
    }
}

image.png

查看某库中集合列表

使用Mongoclient中的getDatabase方法,获取数据库对象

private static MongoClient mongoClient= new MongoClient("localhost", 27017);
private static MongoDatabase mongoDatabase=mongoClient.getDatabase("fishbook");

@Test
public void getCollections(){
    MongoIterable<String> listColloctionNames=mongoDatabase.listCollectionNames();
    for (String colloctionName:listColloctionNames
    ) {
        System.out.println(colloctionName.toString());
    }
}

image.png

查看某集合中全部数据

使用MongoDatabase的getCollection方法获得集合对象,使用MongoCollection中的find方法获得数据,返回类型为Document,需要进行转化,转化为常用的ArrayList类型数据。

private static MongoClient mongoClient= new MongoClient("localhost", 27017);
private static MongoDatabase mongoDatabase=mongoClient.getDatabase("fishbook");
private static MongoCollection<Document> user=mongoDatabase.getCollection("user");
@Test
public void getDocument_test(){
    FindIterable<Document> documents=user.find();
    List<String> users=new ArrayList<>();
    for (Document document:documents
    ) {
        String user_one = document.toJson();
        users.add(user_one);
        System.out.println(user_one);
    }
}

image.png

根据用户名查询数据

使用BasicDBObject设立一个查询条件,实现条件查询效果

@Test
public void test_username(){
    String username="user_test1";
    BasicDBObject find_user = new BasicDBObject();
    find_user.put("username",username);
    FindIterable<Document> documents=user.find(find_user);
    Document document=documents.first();
    if(document==null){
        System.out.println("tolerable");
    }else {
        System.out.println("forbidden");
        System.out.println(document.toJson());
    }
}

image.png

插入一条用户数据

mongodb支持文档类型数据,new一个Document,将数据append文档中,再通过insertOne写入mongodb。

@Test
public void insert(){
    Document document = new Document();
    document.append("name","user001");
    document.append("username","user001");
    document.append("password","123456");
    user.insertOne(document);
    System.out.println("数据插入成功");
}

image.png