mogodb java

来源:互联网 发布:淘宝怎么看购物评级 编辑:程序博客网 时间:2024/05/22 11:44
package mogodb;import java.util.ArrayList;import java.util.List;import java.util.regex.Pattern;import org.bson.Document;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.MongoClient;import com.mongodb.client.AggregateIterable;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;import com.mongodb.client.result.UpdateResult;public class mogodbUntils {    public static void main(String[] args) {        CreateCollection();//        findAll();        insertMany();        fenye();    }    public static void CreateCollection(){        MongoClient mongoClient = new MongoClient( "192.168.71.129" , 27017 );           MongoDatabase database = mongoClient.getDatabase("chan");           //创建集合           database.createCollection("tname");    }    public static void findAll() {        // 链接服务器        MongoClient mongoClient = new MongoClient("192.168.71.129", 27017);        // 链接数据库        MongoDatabase database = mongoClient.getDatabase("chan");        // 获取集合(表)        MongoCollection<Document> doc = database.getCollection("chan");        // 创建对象        Document document = new Document();        // 集合操作        FindIterable<Document> docu = doc.find();        MongoCursor<Document> mongoCursor = docu.iterator();        while (mongoCursor.hasNext()) {            System.out.println(mongoCursor.next());        }    }     public static void insertMany(){       MongoClient mongoClient = new MongoClient( "192.168.71.129" , 27017 );       MongoDatabase database = mongoClient.getDatabase("chan");       MongoCollection<Document> doc=    database.getCollection("chan");         Document document =new Document();       document.append("zhou1", 12);       Document document2 =new Document();       document2.append("zhou2", 12);       List<Document> list=new ArrayList<Document>();       list.add(document);       list.add(document2);       //插入集合       doc.insertMany(list);}    public static void fenye(){         MongoClient mongoClient = new MongoClient( "192.168.71.129" , 27017 );           MongoDatabase database = mongoClient.getDatabase("chan");           MongoCollection<Document> doc=    database.getCollection("chan");             Document document =new Document();           document.append("121",12);           document.append("zhou", 12);           FindIterable<Document> docu = doc.find(document).limit(2).skip(1);            MongoCursor<Document> mongoCursor = docu.iterator();            while (mongoCursor.hasNext()) {                System.out.println(mongoCursor.next());               }             }    /**       * 模糊查询       *        * @param db       * @param name       */      public static void query(DB db,String name){          MongoClient mongoClient = new MongoClient( "192.168.71.129" , 27017 );           MongoDatabase database = mongoClient.getDatabase("chan");           MongoCollection<Document> doc= database.getCollection("chan");             Document document =new Document();      //完全匹配        //Pattern pattern = Pattern.compile("^name$", Pattern.CASE_INSENSITIVE);        //右匹配        //Pattern pattern = Pattern.compile("^.*name$", Pattern.CASE_INSENSITIVE);        //左匹配        //Pattern pattern = Pattern.compile("^name.*$", Pattern.CASE_INSENSITIVE);        //模糊匹配        Pattern pattern = Pattern.compile("^.*name8.*$", Pattern.CASE_INSENSITIVE);        Document document1 =new Document();           document1.append("1212",pattern);        BasicDBObject sort = new BasicDBObject();        // 1,表示正序; -1,表示倒序        sort.put("name",1);        FindIterable<Document> cur = doc.find(document1).sort(sort);        int count = 0;        MongoCursor<Document> mongoCursor = cur.iterator();        while (mongoCursor.hasNext()) {       Document obj = mongoCursor.next();          System.out.print("name=" + obj.get("name"));          System.out.print(",email=" + obj.get("email"));          System.out.println(",passwd=" + obj.get("passwd"));          count ++;        }        System.out.println("共有: " + count + "个");      }          public static void  fengroup(){          MongoClient mongoClient = new MongoClient( "192.168.71.129" , 27017 );           MongoDatabase database = mongoClient.getDatabase("chan");           MongoCollection<Document> doc= database.getCollection("chan");             Document document =new Document();           Document document1 =new Document();           Document document2 =new Document();           document2.append("_id", "$zhou");           document1.append("$group", document2);           List<Document> list=new ArrayList<Document>();           list.add(document1);           AggregateIterable<Document> docu = doc.aggregate(list);           UpdateResult update= doc.updateMany(document1, document2);           MongoCursor<Document> mongoCursor = docu.iterator();            while (mongoCursor.hasNext()) {                System.out.println(mongoCursor.next());               }             }      }