java MongoDB查詢(二)復雜查詢


前言

        在上篇《java MongoDB查詢(一)簡單查詢》中我們簡單了解了下查詢,但是僅僅有那些查詢是不夠用的,還需要復雜的查詢,這篇就這點進行敘述。

1、數據結構

        集合:firstCollection

        數據內容:

        { "_id" : ObjectId("55adba52fa1f3cf038c2aea6"), "name" : "user0", "age" : 22, "sex" : 0 }

        { "_id" : ObjectId("55adba52fa1f3cf038c2aea7"), "name" : "user1", "age" : 23, "sex" : 1 }

        { "_id" : ObjectId("55adba52fa1f3cf038c2aea8"), "name" : "user2", "age" : 24, "sex" : 0 }

        { "_id" : ObjectId("55adba52fa1f3cf038c2aea9"), "name" : "user3", "age" : 25, "sex" : 1 }

        { "_id" : ObjectId("55adba52fa1f3cf038c2aeaa"), "name" : "user4", "age" : 26, "sex" : 0 }

        { "_id" : ObjectId("55adba52fa1f3cf038c2aeab"), "name" : "user5", "age" : 27, "sex" : 1 }

2、連接數據庫,拿到集合firstCollection

 

        MongoClient mClient = new MongoClient("10.211.55.8");

        DB db = mClient.getDB("test");

        DBCollection collection = db.getCollection("firstCollection");

3、與查詢

        操作符:$and

        場景:查詢age大於23,並且sex為1的對象

        查詢條件Json內容:

        {"$and":[{"age":{"$gt":23}},{"sex":1}]}

        查詢條件Java內容:

        BasicDBObject ageObj = new BasicDBObject("age",new BasicDBObject("$gt",23));

        BasicDBObject sexObj = new BasicDBObject("sex",1);

        BasicDBObject andObj = new BasicDBObject("$and",Arrays.asList(ageObj,sexObj));

        執行過程:

        Cursor cursor = collection.find(andObj);

        while(cursor.hasNext()){

                DBObject obj = cursor.next();

                System.out.println(obj.toString());

        }

4、或查詢

        操作符:$or

        場景:查詢name為user2,或者name為user3的對象

        查詢條件Json內容:

        {"$or":[{"name":"user2"},{"name":"user3"}]}

        查詢條件Java內容:

        BasicDBObject user2Obj = new BasicDBObject("name","user2");

        BasicDBObject user3Obj = new BasicDBObject("name","user3");

        BasicDBObject orObj = new BasicDBObject("$or",Arrays.asList(user2Obj,user3Obj));

        執行過程:

        Cursor cursor = collection.find(orObj);

        while(cursor.hasNext()){

                DBObject obj = cursor.next();

                System.out.println(obj.toString());

        }

5、總結

        通過與或的查詢,我們了解了查詢條件組合的方式,通過這種方式,再聯系上篇《java MongoDB查詢(一)簡單查詢》內容就可以組合成我們想要的各種結果的查詢條件了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM