java应用MongoDB简单操作

/**
 * @Author: Administrator
 * @Date: 10:25 2017/10/16
 * @Description: java链接mongodb数据库
 */
public class MongodbJdbc {
    public static void main(String[] args){
        try {
            //连接mongodb服务,如果是远程连接替换"localhost"为服务器的IP的地址
            //ServerAddress()两个参数分别为:1.服务器的地址 2.端口号
          ServerAddress serverAddress = new ServerAddress("localhost", 27017);
           //为了通过认证连接数据库
            ArrayList<ServerAddress> addresses = new ArrayList<ServerAddress>();
            addresses.add(serverAddress);

            //MongoCredential.createScramSha1Credential()三个参数分别为 1.用户名 1.数据库名称 3.密码
            MongoCredential credential = MongoCredential.createScramSha1Credential("MongoDB", "chen", "".toCharArray());
            //为了通过认证连接数据库
            ArrayList<MongoCredential> credentials = new ArrayList<MongoCredential>();
            credentials.add(credential);

            //通过连接认证获取MongoDB连接,参数是上边创建的集合
            MongoClient mongoClient1 = new MongoClient(addresses, credentials);

            //没有通过认证的链接
            MongoClient mongoClient = new MongoClient("localhost", 27017);

            //连接到数据库
            MongoDatabase database = mongoClient.getDatabase("chen");
            System.out.println("连接数据库 MongoDB 成功");

            //创建集合 我们可以使用com.mongodb.client.MongoDatabase类中的createCollection()来创建集合.参数是集合的名称
            database.createCollection("mongodb_test");
            System.out.printf("创建结合成功");

            //获取集合
            MongoCollection<Document> colle = database.getCollection("mongodb_test");
            System.out.printf("colle=="+colle);

            //插入文档
            /**
             * 1.创建文档 org.bson.Document 参数key-value的格式
             * 2.创建文档集合List<Document>
             * 3.将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用 mongoCollection.insertOne(Document)
             */
            Document document = new Document("title", "MongoDB");
            document.append("description", "database");
            document.append("likes", 100);
            document.append("by", "Fly");
            ArrayList<Document> list = new ArrayList<Document>();
            list.add(document);
            colle.insertMany(list);

            //查看所有文档
            /**
             * 1.获取迭代器FindIterable<Document>
             * 2.获取游标MongoCursor<Document>
             * 3.通过用表遍历检索出的文档集合
             */
            FindIterable<Document> findIterable = colle.find();
            MongoCursor<Document> iterator = findIterable.iterator();
            while (iterator.hasNext()){
               // Document next = iterator.next();
                System.out.println(iterator.next());
                System.out.printf("666666");
            }

            //更新文档
            colle.updateMany(Filters.eq("likes",100), new Document("$set",new Document("likes", 200)));
            FindIterable<Document> findIterable1 = colle.find();
            MongoCursor<Document> iterator1 = findIterable.iterator();
            while(iterator1.hasNext()){
                System.out.println(iterator.next());

            }
        }catch(Exception e){
            System.err.println( e.getClass().getName() + ": " + e.getMessage() );
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值