mongo的命令,查詢語句能夠參看 mongodb教程 ,如今咱們來看下使用java 實現mongodb的條件操做。
php
(>) 大於 - $gthtml
(<) 小於 - $ltjava
(>=) 大於等於 - $gtesql
(<= ) 小於等於 - $ltemongodb
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()); } }
運行結果
app
{ "_id" : { "$oid" : "570f8bdf7cf08b02f5e52ea1"} , "name" : "李四" , "age" : 29.0 , "job" : "php 開發" , "phone" : "18984834098" , "addr" : "廣東深圳南山"}code
{ "_id" : { "$oid" : "570f8bdf7cf08b02f5e52ea4"} , "name" : "錢二" , "age" : 26.0 , "job" : "銷售" , "phone" : "18989834968" , "addr" : "廣東珠海"}htm
{ "_id" : { "$oid" : "570f8bdf7cf08b02f5e52ea6"} , "name" : "吳奇" , "age" : 17.0 , "job" : "學生" , "phone" : "18735834098" , "addr" : "廣東韶關"}教程
{ "_id" : { "$oid" : "570f8be07cf08b02f5e52ea8"} , "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" : "570f8bdf7cf08b02f5e52ea0"} , "name" : "張三" , "age" : 34.0 , "job" : "java 開發" , "phone" : "18989834028" , "addr" : "廣東深圳福田"}
{ "_id" : { "$oid" : "570f8bdf7cf08b02f5e52ea1"} , "name" : "李四" , "age" : 29.0 , "job" : "php 開發" , "phone" : "18984834098" , "addr" : "廣東深圳南山"}
{ "_id" : { "$oid" : "570f8bdf7cf08b02f5e52ea2"} , "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" : "570f8bdf7cf08b02f5e52ea0"} , "name" : "張三" , "age" : 34.0 , "job" : "java 開發" , "phone" : "18989834028" , "addr" : "廣東深圳福田"}
{ "_id" : { "$oid" : "570f8bdf7cf08b02f5e52ea1"} , "name" : "李四" , "age" : 29.0 , "job" : "php 開發" , "phone" : "18984834098" , "addr" : "廣東深圳南山"}
{ "_id" : { "$oid" : "570f8be07cf08b02f5e52ea8"} , "name" : "馮峯" , "age" : 23.0 , "job" : "java 開發" , "phone" : "13689834098" , "addr" : "廣東廣州越秀"}
能夠看到其實仍是很簡單的,只是寫條件的是否太囉嗦了