mongo-java-driverの複雑なクエリー

4307 ワード

mongoのコマンド、クエリー文は参照できます mongodbチュートリアルでは、javaを使用してmongodbを実装する条件操作を見てみましょう.
  • (>)が-$gt
  • より大きい
  • (<)より小さい-$lt
  • (>=)が-$gte
  • 以上
  • (<=)が−$lte
  • 以下
    public static void main(String[] args) throws UnknownHostException {
    		MongoClient client = new MongoClient();
    		DB test = client.getDB("test");
    		DBCollection user = test.getCollection("user");
    		//      30 user
    		BasicDBObject query = new BasicDBObject();
    		query.append("age", new BasicDBObject("$lt",30));
    		DBCursor cursor = user.find(query);
    		while(cursor.hasNext()){
    			DBObject ob = cursor.next();
    			System.out.println(ob.toString());
    		}
    	}

       実行結果
    {"_id":{"$oid":"570 f 8 bdf 7 cf 08 b 02 f 5 e 52 ea 1"},"name":"李四","age":29.0,"job":"php開発","phone":"18984834098","addr":"広東深セン南山"}
    {"_id":{"$oid":"570 f 8 bdf 7 cf 08 b 02 f 5 e 52 ea 4"},"name":"銭二","age":26.0,"job":"販売","phone":"18989834968","addr":"広東珠海"}
    {"_id":{"$oid":"570 f 8 bdf 7 cf 08 b 02 f 5 e 52 ea 6"},"name":"呉奇","age":17.0,"job":"学生","phone":"18735834098","addr":"広東韶関"}
    {"_id":{"$oid":"570 f 8 be 07 cf 08 b 02 f 5 e 52 ea 8"},"name":"馮峰","age":23.0,"job":"java開発","phone":"13689834098","addr":"広東広州越秀"}
       正規クエリーを使用して、sqlのlikeに似ています.
    public static void main(String[] args) throws UnknownHostException {
    		MongoClient client = new MongoClient();
    		DB test = client.getDB("test");
    		DBCollection user = test.getCollection("user");
    		//    addr        
    		BasicDBObject query = new BasicDBObject();
    		query.append("addr", Pattern.compile(".*  .*"));
    		DBCursor cursor = user.find(query);
    		while (cursor.hasNext()) {
    			DBObject ob = cursor.next();
    			System.out.println(ob.toString());
    		}
    	}

    結果
        
    {"_id":{"$oid":"570 f 8 bdf 7 cf 08 b 02 f 5 e 52 ea 0"},"name":"張三","age":34.0,"job":"java開発","phone":"18989834028","addr":"広東深セン福田"}
    {"_id":{"$oid":"570 f 8 bdf 7 cf 08 b 02 f 5 e 52 ea 1"},"name":"李四","age":29.0,"job":"php開発","phone":"18984834098","addr":"広東深セン南山"}
    {"_id":{"$oid":"570 f 8 bdf 7 cf 08 b 02 f 5 e 52 ea 2"},"name":"王五","age":38.0,"job":"部門マネージャー","phone":"18981834098","addr":"広東深セン羅湖"}
    最後にOrクエリーを見て
    public static void main(String[] args) throws UnknownHostException {
    		MongoClient client = new MongoClient();
    		DB test = client.getDB("test");
    		DBCollection user = test.getCollection("user");
    		//    addr        
    		BasicDBObject query = new BasicDBObject();
    		BasicDBList list = new BasicDBList();
    		list.add(new BasicDBObject("name","  "));
    		list.add(new BasicDBObject("job","java   "));
    		query.append("$or", list);
    		DBCursor cursor = user.find(query);
    		while (cursor.hasNext()) {
    			DBObject ob = cursor.next();
    			System.out.println(ob.toString());
    		}
    	}

    結果
    {"_id":{"$oid":"570 f 8 bdf 7 cf 08 b 02 f 5 e 52 ea 0"},"name":"張三","age":34.0,"job":"java開発","phone":"18989834028","addr":"広東深セン福田"}
    {"_id":{"$oid":"570 f 8 bdf 7 cf 08 b 02 f 5 e 52 ea 1"},"name":"李四","age":29.0,"job":"php開発","phone":"18984834098","addr":"広東深セン南山"}
    {"_id":{"$oid":"570 f 8 be 07 cf 08 b 02 f 5 e 52 ea 8"},"name":"馮峰","age":23.0,"job":"java開発","phone":"13689834098","addr":"広東広州越秀"}
    実はとても简単なことを见ることができて、ただ条件を书くのがくどいかどうか