java直接操作mongodb語句
參考如下
public class MongoDBJDBC {
public static void main(String[] args) {
try {
// 實例化Mongo對象,連接27017端口
Mongo mongo = new Mongo("localhost", 27017);
// 連接名為yourdb的數據庫,假如數據庫不存在的話,mongodb會自動建立
DB db = *("test");
// Get collection from MongoDB, database named "yourDB"
// 從Mongodb中獲得名為yourColleection的數據集合,如果該數據集合不存在,Mongodb會為其新建立
DBCollection collection = *lection("test1");
// 使用BasicDBObject對象創建一個mongodb的document,并給予賦值。
BasicDBObject document = new BasicDBObject();
//*("id", 1001);
//*("msg", "hello world mongoDB in Java");
// 將新建立的document保存到collection中去
//*(document);
// 創建要查詢的document
BasicDBObject searchQuery = new BasicDBObject();
*("name", "chen");
// 使用collection的find方法查找document
DBCursor cursor = *(searchQuery);
// 循環輸出結果
while (*t()) {
*n(*());
}
*n("Hello World");
} catch (UnknownHostException e) {
*tackTrace();
} catch (MongoException e) {
*tackTrace();
}
}
}
高手幫幫忙,我剛接觸mongodb,怎么用java對mongodb數據庫進行
package *; import *ist; import *; import *BObject; import *; import *ection; import *ct; import *; import *perators; public class MongoDB { private static void print(String str){ *n(str); } public static void main(String[] args) { try { //創建連接 Mongo m=new Mongo("127.0.0.1", 27017); //得到數據庫 DB db=*("test"); //得到所有數據庫 // List
java操作mongodb查詢
String ageStr = "function (){return parseFloat(*) == 19 || parseFloat(*) == 30};"; java操作mongodb進行查詢,常用篩選條件的設置如下:條件列表:BasicDBList condList = new BasicDBList(); 臨時條件對象:BasicDBObject cond = null; DBCollection coll = *lection("A");1、$where 在某種應用場合,若要集合A查詢文檔且要滿足文檔中某些屬性運算結果,可以編寫一腳本函數用where進行設置,比如:某集合中存放的用戶信息,包括姓名、年齡、**、地址等,要篩選出年齡大于20且小于等于40的用戶,我們可以這樣:String ageStr = "function (){return parseFloat(*) > 20 && parseFloat(*) <= 40};"; cond = new BasicDBObject(); *("$where",ageStr); 放入條件列表 *(cond);2、$in 接1實例中,要查詢年齡為23、40、50的用戶信息,我們可以這樣:創建一個臨時的條件列表對象,將條件值分別添加進去 BasicDBList values = new BasicDBList(); *(23); *(40); *(50); cond = new BasicDBObject(); *("age",new BasicDBObject("$in",values)); 放入條件列表 *(cond);3、模糊匹配 接1實例中,要按照用戶的姓名進行模糊查詢,如:王,我們可以這樣做:使用不區分大小寫的模糊查詢3.1完全匹配 Pattern pattern = *e("^王$", *_INSENSITIVE);3.2右匹配 Pattern pattern = *e("^.*王$", *_INSENSITIVE);3.3左匹配 Pattern pattern = *e("^王.*$", *_INSENSITIVE);3.4模糊匹配 Pattern pattern = *e("^.*王.*$", *_INSENSITIVE); cond = new BasicDBObject(); *("name",cond); 放入條件列表 *(cond);4、$gte/$lte/$gt/$lt 接1實例中,要篩選出年齡大于20且小于等于40的用戶,我們可以這樣:cond = new BasicDBObject(); *("age",new BasicDBObject("$gt",20)); *("age",new BasicDBObject("$lte",40)); 放入條件列表 *(cond); 在日常的查詢中篩選的條件可能會有多個,而且多個條件之間都是且的關系,結合上例1、2、3、4中 將每種條件添加到條件列表中,我可以這樣:BasicDBObject searchCond = new BasicDBObject(); *("$and", condList); 然后查詢數據:DBCursor ret = *(searchCond);以上為常用的篩選條件的設置方法,其他的后續在更新。
java 如何查詢mongodb字段名稱
用Java實現MongoDB正則查詢小技巧://模糊查詢 private BasicDBObject getLikeStr(String findStr) { Pattern pattern = *e("^.*" + findStr + ".*$", *_INSENSITIVE); return new BasicDBObject("$regex", pattern); } DBObject query = new BasicDBObject(); *("real_name", getLikeStr(userName)); //endWith文件擴展名 private BasicDBObject endWithStr(String findStr) { Pattern pattern = *e(findStr + "$", *INE); return new BasicDBObject("$regex", pattern); } DBObject query = new BasicDBObject(); *("filename", endWithStr(“.pdf”));最后友情提示你,可以到i碼邦http://*這個社區里提問,比百度知道的效果要快,而且更專業。
i碼邦——Java手機編程軟件 社區+工具的自認為很實用的。
java mongodb查詢條件
java操作mongodb進行查詢,常用篩選條件的設置如下:條件列表:BasicDBList condList = new BasicDBList(); 臨時條件對象:BasicDBObject cond = null;DBCollection coll = *lection("A");1、$where在某種應用場合,若要集合A查詢文檔且要滿足文檔中某些屬性運算結果,可以編寫一腳本函數用where進行設置,比如:某集合中存放的用戶信息,包括姓名、年齡、**、地址等,要篩選出年齡大于20且小于等于40的用戶,我們可以這樣:String ageStr = "function (){return parseFloat(*) > 20 && parseFloat(*) <= 40};";cond = new BasicDBObject();*("$where",ageStr);放入條件列表*(cond);2、$in接1實例中,要查詢年齡為23、40、50的用戶信息,我們可以這樣:創建一個臨時的條件列表對象,將條件值分別添加進去BasicDBList values = new BasicDBList();*(23);*(40);*(50);cond = new BasicDBObject();*("age",new BasicDBObject("$in",values));放入條件列表*(cond);3、模糊匹配接1實例中,要按照用戶的姓名進行模糊查詢,如:王,我們可以這樣做:使用不區分大小寫的模糊查詢3.1完全匹配Pattern pattern = *e("^王$", *_INSENSITIVE);3.2右匹配Pattern pattern = *e("^.*王$", *_INSENSITIVE);3.3左匹配Pattern pattern = *e("^王.*$", *_INSENSITIVE);3.4模糊匹配Pattern pattern = *e("^.*王.*$", *_INSENSITIVE);cond = new BasicDBObject();*("name",cond);放入條件列表*(cond);4、$gte/$lte/$gt/$lt接1實例中,要篩選出年齡大于20且小于等于40的用戶,我們可以這樣:cond = new BasicDBObject();*("age",new BasicDBObject("$gt",20));*("age",new BasicDBObject("$lte",40));放入條件列表*(cond);在日常的查詢中篩選的條件可能會有多個,而且多個條件之間都是且的關系,結合上例1、2、3、4中將每種條件添加到條件列表中,我可以這樣:BasicDBObject searchCond = new BasicDBObject();*("$and", condList);然后查詢數據:DBCursor ret = *(searchCond);。
如何在Java中對MongoDB按日期進行查詢統計
方法一:通過構造BasicDBObject對象來進行查詢[java] view plain copyint startYear=2015,endYear=2016; int startMonth=12,endMonth=1; int startDay=1,endDay=1; BasicDBObject query= new BasicDBObject("applydate", new BasicDBObject("$gte", new Date(startYear - 1900, startMonth - 1, startDay)).append("$lt", new Date(endYear - 1900, endMonth -1, endDay)));//因為無法確知當前月有多少天,所以就從當月的1號(包含)計到下月1號(不包含) int iCount = *(query).count(); *n(iCount); 經測試上述代碼執行完畢后iCount為9。
也就是在2016-1-1至2016-1-31期間有9條記錄。 方法二:通過BasicDBObjectBuilder對象來查詢:[java] view plain copyint startYear=2016,endYear=2016; int startMonth=1,endMonth=2; int startDay=1,endDay=1; BasicDBObject query= new BasicDBObject(); *("applydate", *("$gte", new Date(startYear - 1900, startMonth - 1, startDay)).add("$lt", new Date(endYear - 1900, endMonth - 1, endDay)).get()); int iCount = *(query).count(); *n(iCount); 上述代碼執行后iCount同樣為9。
注意:因為*(year,month,day)這個構造函數中year是超出1900的年數,所以需要減去1900;month從0開始,所以需要減去1。這個問題容易被初學者忽視。
下面擴展地說一下如果要進行帶日期過濾條件的統計,該如何做。前面的東西都相同,只是在統計的時候需要調用集合的distinct方法。
如統計某個字段不重復的值有哪些,可用如下寫法:[java] view plain copyint startYear=2016,endYear=2016; int startMonth=1,endMonth=2; int startDay=1,endDay=1; BasicDBObject query= new BasicDBObject(); *("applydate", *("$gte", new Date(startYear - 1900, startMonth - 1, startDay)).add("$lt", new Date(endYear - 1900, endMonth - 1, endDay)).get()); List
java怎么做到使用mongodb來進行分組查詢統
java操作mongodb進行查詢,常用篩選條件的設置如下:
條件列表:
BasicDBList condList = new BasicDBList();
臨時條件對象:
BasicDBObject cond = null;
DBCollection coll = *lection("A");
1、$where
在某種應用場合,若要集合A查詢文檔且要滿足文檔中某些屬性運算結果,可以編寫一腳本函數用where進行設置,比如:
某集合中存放的用戶信息,包括姓名、年齡、**、地址等,要篩選出年齡大于20且小于等于40的用戶,我們可以這樣:
String ageStr = "function (){return parseFloat(*) > 20 && parseFloat(*) <= 40};";
cond = new BasicDBObject();
*("$where",ageStr);
放入條件列表
*(cond);
2、$in
接1實例中,要查詢年齡為23、40、50的用戶信息,我們可以這樣:
創建一個臨時的條件列表對象,將條件值分別添加進去
BasicDBList values = new BasicDBList();
*(23);
*(40);
*(50);
cond = new BasicDBObject();
*("age",new BasicDBObject("$in",values));
放入條件列表
*(cond);
3、模糊匹配
接1實例中,要按照用戶的姓名進行模糊查詢,如:王,我們可以這樣做:
使用不區分大小寫的模糊查詢
3.1完全匹配
轉載請注明出處華閱文章網 » javamongodb查詢語句