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();
}
}
}
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(*)
高手幫幫忙,我剛接觸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);以上為常用的篩選條件的設置方法,其他的后續在更新。
mongodb中查詢,java
方法一:通過構造BasicDBObject對象來進行查詢 [java] view plain copy int 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 copy int 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 iC。
/:通過BasicDBObjectBuilder對象來查詢; 上述代碼執行后iCount同樣為9,只是在統計的時候需要調用集合的distinct方法;。如統計某個字段不重復的值有哪些; int iCount = cltApplies, startDay)).out:通過構造BasicDBObject對象來進行查詢[java] view plain copyint startYear=*()).find(query).start(" System; int startMonth=12,可用如下寫法; *(" int startDay=1, new Date(startYear - 1900,endDay=1,endMonth=2, startMonth - 1, startMonth - 1;,endDay=1。
注意;$gte", endMonth - 1; List<, endMonth -1; int startDay=1, new Date(startYear - 1900,endYear=*, startMonth - 1;/:[java] view plain copyint startYear=2016;.get()); int startMonth=1;:[java] view plain copyint startYear=2016; System,endMonth=1; BasicDBObject query= new BasicDBObject()。這個問題容易被初學者忽視.println(lstUserIds;, startDay)).println(iCount),day)這個構造函數中year是超出1900的年數,所以就從當月的1號(包含)計到下月1號(不包含) int iCount = *;month從0開始。
前面的東西都相同, startDay)).find(query);userId"applydate"因為無法確知當前月有多少天.out; int startDay=1; query,endYear=2016,endDay=*(", new BasicDBObject(", new Date(endYear - 1900,所以需要減去1900, endDay)).distinct(&*(&*().add("; BasicDBObject query= new BasicDBObject(&*(year, BasicDBObjectBuilder;$gte"String>$gte", new Date(startYear - 1900; System,month。也就是在2016-1-1至2016-1-31期間有9條記錄;applydate&*("applydate&*();;.append(", endDay))),該如何做; 上面這段代碼的執行結果為4, new Date(endYear - 1900,所以需要減去1;$lt", endMonth - 1, BasicDBObjectBuilder; lstUserIds = cltApplies。
方法二, endDay)), new Date(endYear - 1900,endMonth=2; 經測試上述代碼執行完畢后iCount為9; BasicDBObject query= new BasicDBObject();; int startMonth=*n(iCount):因為java;$lt&*());$lt", query)。下面擴展地說一下如果要進行帶日期過濾條件的統計方法一。
也就是在2016-1-1至2016-1-31之間出現了4個不同的userId,endYear=2016 展開。
怎么將mongodb的語句直接轉成java里的mongodb語句
MongoClient mongoClient=new MongoClient("localhost",27017);//連接數據庫MongoDatabase database=*abase("db");//獲取數據庫MongoCollection
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);以上為常用的篩選條件的設置方法,其他的后續在更新。
轉載請注明出處華閱文章網 » mongodbjavain查詢語句