Java连接MongoDB样例

package com.moonlit.example;

import com.mongodb.BasicDBObject;
import com.mongodb.BulkWriteOperation;
import com.mongodb.BulkWriteResult;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;

public class MongodbTest {
    public static void main(String[] args) {
        MongoClient mongoClient = new MongoClient();
        DB db = mongoClient.getDB("mydb");
        DBCollection coll = db.getCollection("testCollection");

        // insert a document
        BasicDBObject doc = new BasicDBObject("name", "MongoDB")
                .append("type", "database")
                .append("count", 1)
                .append("info", new BasicDBObject("x", 123).append("y", 456));
        coll.insert(doc);

        // find the first document in a collection
        DBObject myDoc = coll.findOne();
        System.out.println(myDoc);

        // adding multiple documents
        for (int i = 1; i <= 100; i ++) {
            coll.insert(new BasicDBObject("i", i));
        }

        // counting documents in a collection
        System.out.println(coll.getCount());

        // using a cursor to get all collection
        DBCursor cursor = coll.find();
        try {
            while (cursor.hasNext())
                System.out.println(cursor.next());
        } finally {
            cursor.close();
        }

        // get a single document with a guery
        BasicDBObject query = new BasicDBObject("i", 23);
        cursor = coll.find(query);
        try {
            while (cursor.hasNext())
                System.out.println(cursor.next());
        } finally {
            cursor.close();
        }

        query = new BasicDBObject("j", new BasicDBObject("$ne", 93))
                .append("i", new BasicDBObject("$gt", 90));
        cursor = coll.find(query);
        try {
            while (cursor.hasNext())
                System.out.println(cursor.next());
        } finally {
            cursor.close();
        }

        query = new BasicDBObject("i", new BasicDBObject("$ne", 93).append("$gt", 90));

        cursor = coll.find(query);
        try {
            while (cursor.hasNext())
                System.out.println(cursor.next());
        } finally {
            cursor.close();
        }

//        // delete all
//        cursor = coll.find();
//        try {
//            while (cursor.hasNext())
//                coll.remove(cursor.next());
//        } finally {
//            cursor.close();
//        }
//
//        // count
//        System.out.println(coll.getCount());

//        BulkWriteOperation builder = coll.initializeOrderedBulkOperation();
//        builder.insert(new BasicDBObject("_id", 1));
//        builder.insert(new BasicDBObject("_id", 2));
//        builder.insert(new BasicDBObject("_id", 3));

//        builder.find(new BasicDBObject("_id", 1)).updateOne(new BasicDBObject("$set", new BasicDBObject("x", 123)));
//        builder.find(new BasicDBObject("_id", 2)).remove();
//        builder.find(new BasicDBObject("_id", 3)).replaceOne(new BasicDBObject("_id", 3).append("x", 4));

//        BulkWriteResult result = builder.execute();

    }
}
时间: 2024-10-10 05:19:39

Java连接MongoDB样例的相关文章

java设计模式演示样例

创建模式 1.工厂方法模式(Factory Method)  将程序中创建对象的操作,单独出来处理,创建一个产品的工厂接口,把实际的工作转移到详细的子类.大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式. public class TestFactoryMethod { public static void main(String[] args) { AnimalFactory af=new DogFactory(); Animal1 a=af.getAnima

Java线程演示样例 - 继承Thread类和实现Runnable接口

进程(Process)和线程(Thread)是程序执行的两个基本单元. Java并发编程很多其它的是和线程相关. 进程 进程是一个独立的执行单元,可将其视为一个程序或应用.然而,一个程序内部同事还包括多个进程. Java执行时环境就是一个单独的进程,在它内部还包括了作为进程的各种类和程序. 线程 能够将线程看做轻量级的进程. 线程存在于进程其中,须要的资源开销较小.同一进程中的线程共享进程的资源. Java多线程 每个Java引用都仅仅要有一个线程 - 主线程(main thread).尽管后台

java连接mongodb源码解读

用mongdb也大半年了,一直是业务上的逻辑实现了就ok.然而这样并不能进步--因此今天查了查java连接mongodb驱动的源码,搜到的各种信息整合一下,方便以后深入的使用. 先贴连接数据库代码  List<ServerAddress> replicaSet = new          ArrayList<ServerAddress>();          replicaSet.add(new ServerAddress("127.0.0.1", 2701

java连接MongoDB数据库

这段时间尝试了一下MongoDB,感觉十分易用,方便,相比关系型的数据库来说优势也很大,于是尝试了下使用java连接MongoDB,并进行了 基本的增删改查操作. 首先先在控制台中连接数据库,查看数据库有几个表. 现在,新建一个maven工程,pom.xml中的依赖如下: <!-- WICKET DEPENDENCIES --> <dependency> <groupId>org.apache.wicket</groupId> <artifactId&

Java连接MongoDB

1.创建连接用户 > mongo ip:port > use test > db.addUser("root", "123456") > db.auth("root","123456") (登陆验证) 2.java连接mongodb的驱动,下载地址:https://github.com/mongodb/mongo-java-driver/downloads. 3.测试代码 import java.net

java连接MongoDB查询导出为excel表格

背景 因为项目需求.每一个星期须要统计每一个公众号7天的訪问数,月底就须要统计一个月的訪问数,40多个公众号.每次手动统计都须要花费1个小时,总之是一项无技术耗时耗神的手工活. 于是.想写个程序来统计.每次仅仅须要执行下代码,输入一些配置信息就导出为excel表格,直接复制完事,可是水平有限.就仅仅用java写了个. demo下载 下载地址:http://download.csdn.net/detail/musuny/8769499 程序说明 依赖外部jar包 fastjson-1.1.36.j

java操作hbase样例

hbase安装方法请參考:hbase-0.94安装方法具体解释 hbase经常使用的shell命令请參考:hbase经常使用的shell命令样例 java操作hbase,在eclipse中创建一个java项目.将hbase安装文件根文件夹的jar包和lib文件夹下jar包导入项目,然后就能够编写java代码操作hbase了. 以下代码给出来一个简单的演示样例 /** * @date 2015-07-23 21:28:10 * @author sgl */ package com.songguol

java连接MongoDB报错解决

报错内容 com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=127.0.0.1:27017, type=UNKN

实现java连接mongoDB(简单封装)

最近要完成一个登陆注册的功能,加上刚刚学了MongoDB,就想试一试,查了很多博客,都不能找到一篇完整的用例,只有自己折腾下了.这里我们需要加载一个jar包,我用的是mongo-java-driver-3.8.0.jar,主要用到的是client下的相关组件. package com.amyyang.mongodb; import com.mongodb.MongoClient; import com.mongodb.client.FindIterable; import com.mongodb