java操作MongoDB示例

java操作MongoDB
简单查询
	/**
     * 简单查询
     */
    @Test
    public void find() {
        // MongoClient mongoClient = new MongoClient("192.168.1.105",27017);// 非默认端口须指定端口号
        MongoClient mongoClient = new MongoClient("192.168.1.105");// 创建MongoDB的客户端; 默认端口可不指定
        MongoDatabase database = mongoClient.getDatabase("mongodb");// 打开数据库; database 等同于MySQL的database
        MongoCollection<Document> collections = database.getCollection("student");// 获取集合; collections等同于MySQL的table
        FindIterable<Document> documents = collections.find();// 查询文档集合; documents等同于MySQL的row(记录)
        //遍历数据
        for (Document document : documents) {//这里可以类比JDBC中,从结果集ResultSet中取值;值得注意的是:数据的类型哦;
            String id = document.getString("_id");
            System.out.println("id:" + id);
            String sname = document.getString("sname");
            System.out.println("sname:" + sname);
            Integer age = document.getInteger("age");
            System.out.println("age:" + age);
            String address = document.getString("address");
            System.out.println("address:" + address);
        }
        mongoClient.close();//关闭连接
    }
复杂(条件)查询
    /**
     *  复杂(条件)查询
     */
    @Test
    public void findByCondition() {
        MongoClient mongoClient = new MongoClient("192.168.1.105");// 创建MongoDB的客户端; 默认端口可不指定
        MongoDatabase database = mongoClient.getDatabase("mongodb");// 打开数据库; database 等同于MySQL的database
        MongoCollection<Document> collections = database.getCollection("student");// 获取集合; collections等同于MySQL的table
        BasicDBObject bason = new BasicDBObject("sname", "goblin");
        FindIterable<Document> documents = collections.find(bason);// 获取集合; collections等同于MySQL的table
        //遍历数据
        for (Document document : documents) {//这里可以类比JDBC中,从结果集ResultSet中取值;值得注意的是:数据的类型哦;
            String id = document.getString("_id");
            System.out.println("id:" + id);
            String sname = document.getString("sname");
            System.out.println("sname:" + sname);
            Integer age = document.getInteger("age");
            System.out.println("age:" + age);
            String address = document.getString("address");
            System.out.println("address:" + address);
        }
        mongoClient.close();//关闭连接
    }
插入数据
   /**
     *  插入数据
     */
    @Test
    public void insert(){
        MongoClient mongoClient = new MongoClient("192.168.1.105");// 创建MongoDB的客户端; 默认端口可不指定
        MongoDatabase database = mongoClient.getDatabase("mongodb");// 打开数据库; database 等同于MySQL的database
        MongoCollection<Document> collections = database.getCollection("student");// 获取集合; collections等同于MySQL的table

        Map<String, Object> map = new HashMap<String, Object>();
        map.put("_id", "2");
        map.put("sname", "ygzy");
        map.put("age", 22);
        map.put("address","Shandong Of China");
        Document document = new Document(map);
        collections.insertOne(document);// 插入数据
        mongoClient.close();//关闭连接
    }
更新数据

删除数据
   /**
     * 删除数据
     */
    @Test
    public void delete(){
        MongoClient mongoClient = new MongoClient("192.168.1.105");// 创建MongoDB的客户端; 默认端口可不指定
        MongoDatabase database = mongoClient.getDatabase("mongodb");// 打开数据库; database 等同于MySQL的database
        MongoCollection<Document> collections = database.getCollection("student");// 获取集合; collections等同于MySQL的table

        BasicDBObject bson = new BasicDBObject("_id", "2");// 删除id为2的数据
        collections.deleteOne(bson);
        mongoClient.close();//关闭连接
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值