javamongoor
A. php mongo條件有and和or時應該怎樣寫
mongo操作
find方法
db.collection_name.find();
查詢所有的結果:
select * from users;
db.users.find();
指定返回那些列(鍵):
select name, skills from users;
db.users.find({}, {'name' : 1, 'skills' : 1});
補充說明: 第一個{} 放where條件 第二個{} 指定那些列顯示和不顯示 (0表示不顯示 1表示顯示)
where條件:
1.簡單的等於:
select name, age, skills from users where name = 'hurry';
db.users.find({'name' : 'hurry'},{'name' : 1, 'age' : 1, 'skills' : 1});
2.使用and
select name, age, skills from users where name = 'hurry' and age = 18;
db.users.find({'name' : 'hurry', 'age' : 18},{'name' : 1, 'age' : 1, 'skills' : 1});
3.使用or
select name, age, skills from users where name = 'hurry' or age = 18;
db.users.find({ '$or' : [{'name' : 'hurry'}, {'age' : 18}] },{'name' : 1, 'age' : 1, 'skills' : 1});
4.<, <=, >, >= ($lt, $lte, $gt, $gte )
select * from users where age >= 20 and age <= 30;
db.users.find({'age' : {'$gte' : 20, '$lte' : 30}});
5.使用in, not in ($in, $nin)
select * from users where age in (10, 22, 26);
db.users.find({'age' : {'$in' : [10, 22, 26]}});
6.匹配null
select * from users where age is null;
db.users.find({'age' : null);
7.like (mongoDB 支持正則表達式)
select * from users where name like "%hurry%";
db.users.find({name:/hurry/});
select * from users where name like "hurry%";
db.users.find({name:/^hurry/});
8.使用distinct
select distinct (name) from users;
db.users.distinct('name');
9.使用count
select count(*) from users;
db.users.count();
10.數組查詢 (mongoDB自己特有的)
如果skills是 ['java','python']
db.users.find({'skills' : 'java'}); 該語句可以匹配成功
$all
db.users.find({'skills' : {'$all' : ['java','python']}}) skills中必須同時包含java 和 python
$size
db.users.find({'skills' : {'$size' : 2}}) 遺憾的是$size不能與$lt等組合使用
$slice
db.users.find({'skills' : {'$slice : [1,1]}})
兩個參數分別是偏移量和返回的數量
11.查詢內嵌文檔
12.強大的$where查詢
db.foo.find();
{ "_id" : ObjectId("4e17ce0ac39f1afe0ba78ce4"), "a" : 1, "b" : 3, "c" : 10 }
{ "_id" : ObjectId("4e17ce13c39f1afe0ba78ce5"), "a" : 1, "b" : 6, "c" : 6 }
如果要查詢 b = c 的文檔怎麼辦?
> db.foo.find({"$where":function(){
for(var current in this){
for(var other in this){
if(current != other && this[current] == this[other]){
return true;
}
}
}
return false;
}});
{ "_id" : ObjectId("4e17ce13c39f1afe0ba78ce5"), "a" : 1, "b" : 6, "c" : 6 }
B. 學習java以後的就業方向有哪些
Java行業是一個大方向,崗位不同工作內容也多有不同,掌握一門Java技術之後就業的機會是很廣泛的,給大家提供參考:
Java開發的就業方向一:Java企業級應用開發
目前Java在許多行業的企業信息應用方面的應用非常多,比如OA、郵箱、股票、金融、考試、物流、醫療、礦山等信息方面的系統。該方向和行業密切相關,所以,這是一個經驗型的發展方向。Java開發者在這方面的需求也非常大,待遇也相當不錯,有三到五年工作經驗的年薪在15至20萬這是一個很正常的水平。
Java開發的就業方向二:Java網站建設
近幾年來,網站建設業務一直呈快速上升勢頭,行業市場越來越大。新技術的應用將促使企業網站建設更具魅力。Java編程語言也將使網站結構更緊密,訪問更流暢,更能適應新的要求。特別是像大企業更偏向於使用Java技術。
Java開發的就業方向三:Android開發
Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。Android在國內的市場份額愈來愈額高。最近幾年發展非常快速,但人才積累卻沒有跟上,優秀的Android開發工程師仍然存在不小的缺口。Android應用的主要開發語言就是Java,所以選擇這個方向還是蠻不錯的。
Java開發的就業方向四:Java游戲開發
Java本身就可以用來編寫游戲腳本,目前也有例如beanshellgroovy等腳本語言可以方便的無縫的和Java語言進行交互,這些都極大的方便了Java游戲編程。
未來幾年隨著互聯網的不斷發展,對Java開發人員的需求也會不斷增加,現在學習Java正當時。所以,你還在等什麼,抓緊時間入行吧!如果想系統的學習編程,可以來我這看看呀
希望對您有所幫助!~
C. 關於mongoDB的$or 怎麼用java實現
舉例:
public static void selectAll() throws Exception{
//第一:實例化mongo對象,連接mongodb伺服器 包含所有的資料庫
//默認構造方法,默認是連接本機,埠號,默認是27017
//相當於Mongo mongo =new Mongo("localhost",27017)
Mongo mongo =new Mongo();
//第二:連接具體的資料庫
//其中參數是具體資料庫的名稱,若伺服器中不存在,會自動創建
DB db=mongo.getDB("myMongo");
//第三:操作具體的表
//在mongodb中沒有表的概念,而是指集合
//其中參數是資料庫中表,若不存在,會自動創建
DBCollection collection=db.getCollection("user");
BasicDBList condList = new BasicDBList();
BasicDBObject cond = null;
String ageStr = "function (){return parseFloat(this.id) > 2 && parseFloat(this.id) <= 4};";
cond = new BasicDBObject();
cond.put("$where",ageStr);
Pattern pattern = Pattern.compile("^.*明.*$", Pattern.CASE_INSENSITIVE);
BasicDBObject query =new BasicDBObject();
query.put("name", pattern);
condList.add(query);
condList.add(cond);
BasicDBObject searchCond = new BasicDBObject();
searchCond.put("$or", condList);
//查詢操作
DBCursor cursor=collection.find(searchCond);
System.out.println("mongodb中的user表結果如下:");
while(cursor.hasNext()){
System.out.println(cursor.next());
}
}
D. Java語言能做什麼應用范圍是
1. Android應用
如果你還在尋找Java在哪運用,你不用東奔西走的尋找,你的身邊就是。打開的 Android 手機,隨便打開一個 App 應用,他們就是完全的用 Java 語言,從 Google 上搜索 Android 的 API 文檔,你就會發現它和 Java 的 JDK 文檔驚人的相似。從兩年前的 Android 剛剛起步,到今天許多的 Android 應用都是 Java 程序員開發者開發。雖然 Android 運用了不同的 JVM 以及不同的封裝方式,但是代碼還是用 Java 語言所編寫。
2. 在金融業應用的伺服器程序
Java 在金融服務業的應用非常廣泛,許多跨國投資銀行例如:Goldman Sachs(高盛投資),Citigroup(花旗集團),Barclays(巴克萊銀行),Standard Charted(標准渣打銀行)以及其他銀行,都用 Java 來編寫前台和後台的電子交易系統,結算和確認系統,數據處理項目以及其他項目。大多數情況下,Java 被用在伺服器端開發,但多數沒有任何前端,它們通常是從一個伺服器(上一級)接收數據,處理後發向另一個處理系統(下一級處理)。Java Swing 技術旨在開發可視化界面客戶端供交易者使用,但是隨著近幾年 C# 的崛起使程序員在客戶端開發時舍棄了繁瑣的代碼,C# 正慢慢取代 Swing 成為可視化開發的主流。
3. 網站
同樣,Java 在電子商務領域以及網站開發領域占據這大部分席位。你可以運用許多不同的框架來創建web項目,SpringMVC,Struts2.0 以及 frameworks。即使是簡單的 servlet,jsp 和以 struts 為基礎的網站在政府項目中也是很受歡迎的。例如醫療救護,保險,教育,國防以及其他的不同部門網站都是以 Java 為基礎來開發的。
4. 軟體工具
許多常用的軟體和開發工具都是運用Java來編寫和開發的。比如 Eclipse,IneteliJIdea 和 Netbans IDE。我認為他們去都是用 Java 來編寫的。就如上面所說,Swing 曾經在可視化桌面客戶端開發非常流行,它們大多數應用與金融服務領域以及投資銀行,JavaFx 雖說已經得到流行,但是依然無法取代 Swing。現在 C# 已經幾乎取代了 Swing 在金融開發領域的地位。
5. 交易系統
第三方交易系統,現已是金融服務產業的一個很大的部分,它們同樣也是 Java 編寫。例如受歡迎的交易平台 Murex ,它也是 Java 編寫,並與許多的銀行前台所連接,提供服務。
6. J2ME系統
隨著近幾年 IOS 和 Android 的出現,幾乎占據了 J2ME 市場,但仍然有低端諾基亞、三星手機使用J2ME。這個時代的大多數手機游戲,手機應用都採用 J2ME 的一部分 MIDP 和 CLDC 編寫,以適應 Android 系統。但是 J2ME 依然在藍光,磁卡,機頂盒這些產品中流行。通信應用之所以這么火是因為 Nokia 的手機依舊支持J2ME。
7. 嵌入式領域
Java 在嵌入式領域發展空間很大。在這個平台上,你只需130KB就能夠使用 Java 技術(在智能卡或者感測器上)。最初,Java 被設計用來在嵌入書設備上工作。事實上,這只是其中的一個領域,這只是當初的「一次寫入,隨便暢游」的項目,現在看起來是這樣了。
8. 大數據技術
Hadoop 以及其他大數據處理技術都是用 Java 或者其他,例如 Apache 的基於 Java 的 HBase 和Accumulo 以及 ElasticSearchas。但是 Java 在此領域並未占太大空間,如 MongoDB 就是在 C++ 技術基礎上編寫的。總的來說,只要 Hadoop 和 ElasticSearchas 能夠成長壯大,Java 依舊還有潛力去在這個市場占據一部分。
9. 高頻交易的空間
Java 平台大幅度提高了這個平台的特性和即使編譯,他同時也能夠像 C++ 一樣傳遞數據。正是由於這個原因,Java 成為的程序員編寫交易平台的語言,因為雖然性能不比母語,但你可以避開它的安全性,可移植性和可維護性,以更快的速度運行,一個沒有經驗的 C++ 程序員會使應用程序變的更加緩慢和不可靠。
10. 科學應用
今天,Java 依然是在科學應用中最好選擇,包括自然語言處理。最主要的原因是因為 Java 比 C++ 或者其他語言相對其安全性、便攜性、可維護性以及其他高級語言的並發性更好。
E. 我想學用JAVA建網站,應該怎麼學
Java是一門涵蓋比較廣的編程語言,自學起來相對比較困難,網上有視頻資料,可以下載來看,下面我把Java入門需要學的一些東西做一個整理,僅供參考,有問題的話可以繼續問我。
第一階段:JavaEE初級
JDK的下載安裝配置、Eclipse開發工具介紹、Java基本程序的編譯運行、關鍵字、標示符、注釋、常量、變數、數據類型、進制轉換、數據類型轉換、各種運算符的使用、各種判斷循環語句的使用、函數的使用、數組的使用
面向對象入門、用Java來描述對象、局部變數和成員變數、Java對象內存分析、匿名對象、封裝、構造函數、Main函數詳解、繼承、重寫、抽象類、介面、多態、內部類、異常、包機制、JAR包
StringBuffer類、Date和Calendar類,System類、Runtime類、Math類,正則表達式、基本數據類型包裝類
集合類(Collection)、List、ArryList、LinkList、Vector、迭代器、Set、HashSet、TreeSet、LinkedHashSet、Map、HashTable、HashMap、TreeMap、泛型等各種數據集合的分析和使用
異常處理、多線程基礎、IO系統、網路編程、Java反射機制、Java註解、JavaSE 8.0新特性SVN介紹、SVN服務端的安裝及使用、SVN客戶端的安裝及使用、SVN團隊開發注意事項
第二階段:JavaEE進階
認識Web前端、常見標簽及用途、選擇器及分類、浮動、定位、表格和表單、HTML進階、HTML5基礎、HTML5新技術特點WebSocket、地理定位、canvas
CSS的作用、CSS的各種選擇器、行內樣式、內部樣式、外部樣式、選擇器及樣式的優先順序問題、盒子模型、層的浮動、游覽器調試工具的使用、採用DIV+CSS設計頁面
BOM瀏覽器對象模型、DOM文檔對象模型、JS操作CSS、JS操作DOM、JS操作DIV、protoype、js基於對象編程
jQuery基本技術、jQuery使用插件、jQuery EasyUI、jQuery mobile
Bootstrap基礎知識、Bootstrap預定義的CSS樣式、Bootstrap內置的布局組件、Bootstrap支持的JavaScript插件、Less、Sass、Chart.JS、Two.JS、實際使用Bootstrap
MySQL5.5/5.6資料庫、navicat客戶端軟體,基本建表、插入數據、修改數據、查詢數據操作、數據備份與移植
JDBC連接MySQL資料庫,CRUD操作
XML的概念與基本作用、XML的基本語法、XML的約束模式、DTD、Schema、名稱空間。XML解析介紹、DOM4J解析XML、XPath的使用
HTTP協議詳解,Web伺服器的工作原理、Tomcat的安裝與啟動運行、Tomcat的體系結構、在Tomcat中配置Web虛擬目錄與發布Web應用程序的方式、設置目錄的默認網頁、使用Tomcat配置虛擬主機、WAR文件生成與使用
安裝使用MyEclipse進行JavaEE程序開發和調試,以及和Tomcat的集成
什麼是Servlet、Servlet接收客戶端請求信息、Servlet響應客戶端信息、Servlet的生命周期、Servlet過濾器和AOP編程;Servlet監聽器
什麼是JSP、JSP的內置對象、透析JSP的本質、JSTL+EL、JSP內置對象與狀態管理
Tomcat和JDBC連接池配置、JDBC的事務、JSP整合進行分頁,條件查詢
MVC核心思想、MVC基本入門JSP+Servlet+Bean整合
AJAX技術基礎、XMLHttpRequest對象詳解、jQuery的AJAX、AJAX技術調試技巧、JSON介紹、JSON語法、JSON類庫
LoggingAPI日誌管理、JUnit單元測試技術、Ant打包
第三階段:JavaEE高級
SpringWeb MVC介紹、Web MVC應用、Spring WebMVC架構、Spring MVC入門程序、非註解處理器映射器和適配器、註解開發處理器映射器和適配器、Spring MVC整合Mybatis、RequestMapping、Controller方法返回值、參數綁定(簡單類型、pojo、包裝類型、數組、集合類型等)、SpringMVC與Struts2區別、Spring MVC上傳圖片、json數據交互、Validation、異常處理器、RESTful支持、攔截器
Mybatis介紹、單獨使用jdbc編程問題總結、Mybatis架構、Mybatis入門程序、Mybatis開發Dao、SqlMapConfig.XML配置、ParameterType輸入映射、ResultType及ResultMap輸出映射、動態SQL、商品訂單數據模型、關聯查詢(一對一、一對多)、Mybatis與Spring整合、Mybatis逆向工程
Spring框架介紹,IoC思想、DI依賴注入、Bean的實例方式、Bean種類、Bean作用域范圍、依賴注入、p命名空間、SpEL?Spring表達式、註解裝配Bean、整合Junit測試、Web開發集成Spring、AOP思想、使用AspectJ切面編程、JdbcTemplate模板使用、C3P0數據源配置、DBCP數據源配置、聲明式事務管理、SSH整合
Struts2框架介紹、工作原理與架構分析、6大配置文件分析、Struts.XML詳解及使用,使用通配符定義action、動態方法調用,ActionContext及ServletActionContext使用,模型驅動ModelDriven、屬性驅動、Struts2文件上傳、默認攔截器分析、自定義攔截器、OGNL表達式、值棧ValueStack分析及操作、Struts2標簽
學會基於Spring?Boot實現減少XML配置,快速搭建Java Web項目,減少Java開發的笨重的工作量,減少項目周期
Maven的介紹、Maven的構建、Maven的依賴管理、Maven和Eclipse的整合、Maven構建SSM應用
Oracle基礎管理,SQL語言、序列、索引、視圖對象、數據備份與移植
第四階段:JavaEE熟練
基於JFreeChart生成餅圖、曲線圖、柱狀圖
基於iText生成pdf文件
基於POI組件生成EXCEL文件
Quartz定時任務管理器以及和Spring的繼承
HttpClient/HTMLParser,採用HttpClient如何抓取網頁、GET提交和POST提交、採用HTMLParser解析HTML。
NIO介紹、netty入門
Activiti工作流:掌握工作流的基本概念,什麼叫流程定義、什麼叫流程實例、什麼叫任務、工作流中的相關概念將如何應用
異構系統整合方案,JNI、CORBA、基於Web?Services的中國電信消息系統規范介紹、SOAP、WSDL、UDDI、如何採用CXF/Axis2開發WebService伺服器端和客戶端的相關知識
git介紹、git版本管理。
掌握Linux的常用命令,熟悉Linux上下文編輯器,掌握Linux的文件管理控制等
JbossWeblogic企業級JavaEE應用伺服器安裝、配置
基本的Apache和Tomcat整合,最新的Tomcat和Apache集群和負載均衡配置
掌握Nginx負載均衡及和Tomcat的整合
掌握ActiveMQ消息隊列的安裝以及和Java的集成、JMS介面規范
MySQL主從配置、MySQL分庫分表實際演練、MySQL集群配置
MongoDB安裝,基本使用,和Java集成、Spring框架集成
Redis安裝,基本使用,和Java集成、Spring框架集成
安卓基礎開發:了解Android和開發環境搭建、Activity、UI布局和UI組件、AsyncTask非同步任務、網路應用、資訊APP實戰基於JFreeChart生成餅圖、曲線圖、柱狀圖