mongodb的操作方法和裝置制造方法【專利摘要】本發(fā)明提供一種mongodb的操作方法和裝置,操作方法包括:創(chuàng)建實體對象和數(shù)據(jù)庫表;通過配置文件綁定實體對象與數(shù)據(jù)庫表,即:建立實體對象屬性與表屬性的映射關(guān)系;分別封裝mongodb中的語法語句;當(dāng)接收到對mongodb的操作請求時,從所述操作請求中提取操作關(guān)鍵字;通過分析所述操作關(guān)鍵字,獲得與所述操作關(guān)鍵字對應(yīng)的特定實體對象,再通過所述配置文件,獲得與所述特定實體對象對應(yīng)的特定數(shù)據(jù)庫表,執(zhí)行封裝后的語法語句,對所述特定數(shù)據(jù)庫表進(jìn)行操作,得到操作結(jié)果;返回所述操作結(jié)果。將mongodb常用語法進(jìn)行封裝,開發(fā)人員不需掌握mongodb語法,也可以非常方便的操作數(shù)據(jù)庫。【專利說明】mongodb的操作方法和裝置【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明屬于數(shù)據(jù)庫【
技術(shù)領(lǐng)域:
】,具體涉及一種mongodb的操作方法和裝置?!?br>背景技術(shù):
】[0002]mongodb是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫。mongodb支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。mongodb最大的特點是其支持的查詢語言非常強(qiáng)大,其語法類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能。[0003]現(xiàn)有技術(shù)中,通常采用腳本的形式對mongodb進(jìn)行操作,例如,當(dāng)需要查詢mongodb中存儲的某一個表時,需要用戶編寫查詢腳本,然后再通過該查詢腳本進(jìn)行查詢。該種方法存在的主要缺陷為:查詢腳本編寫過程復(fù)雜,浪費了開發(fā)人員大量精力;而對于初學(xué)者,編寫腳本更是一件非常困難的事,從而增加了了使用mongodb的成本?!?br/>發(fā)明內(nèi)容】[0004]針對現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種mongodb的操作方法和裝置,將mongodb常用語法進(jìn)行封裝,開發(fā)人員不需掌握mongodb語法,也可以非常方便的操作數(shù)據(jù)庫。[0005]本發(fā)明采用的技術(shù)方案如下:[0006]本發(fā)明提供一種mongodb的操作方法,包括以下步驟:[0007]S1,分別創(chuàng)建實體對象和數(shù)據(jù)庫表;其中,所述實體對象具有實體對象屬性,所述數(shù)據(jù)庫表具有表屬性;[0008]S2,通過配置文件綁定實體對象與數(shù)據(jù)庫表,即:建立實體對象屬性與表屬性的映身寸關(guān)系;[0009]S3,分別封裝mongodb中的語法語句;[0010]當(dāng)接收到對mongodb的操作請求時,從所述操作請求中提取操作關(guān)鍵字;通過分析所述操作關(guān)鍵字,獲得與所述操作關(guān)鍵字對應(yīng)的特定實體對象,再通過所述配置文件,獲得與所述特定實體對象對應(yīng)的特定數(shù)據(jù)庫表,調(diào)用封裝后的語法語句,對所述特定數(shù)據(jù)庫表進(jìn)行操作,得到操作結(jié)果;[0011]S4,返回所述操作結(jié)果。[0012]優(yōu)選的,所述配置文件為:實體對象的屬性與表屬性相同。[0013]優(yōu)選的,其中表屬性為表字段。[0014]優(yōu)選的,S3中,所述mongodb中的語法語句包括查詢語句、刪除語句、更新語句和存儲語句中的一種或幾種。[0015]本發(fā)明還提供一種mongodb的操作裝置,包括:[0016]創(chuàng)建模塊,用于分別創(chuàng)建實體對象和數(shù)據(jù)庫表;其中,所述實體對象具有實體對象屬性,所述數(shù)據(jù)庫表具有表屬性;[0017]配置文件建立模塊,用于建立配置文件,通過配置文件綁定所述創(chuàng)建模塊創(chuàng)建的實體對象與數(shù)據(jù)庫表,即:建立實體對象屬性與表屬性的映射關(guān)系;[0018]封裝模塊,用于分別封裝mongodb中的語法語句;[0019]接收模塊,用于接收對mongodb的操作請求;[0020]分析處理模塊,用于從所述操作請求中提取操作關(guān)鍵字;通過分析所述操作關(guān)鍵字,獲得與所述操作關(guān)鍵字對應(yīng)的特定實體對象,再通過所述配置文件,獲得與所述特定實體對象對應(yīng)的特定數(shù)據(jù)庫表,調(diào)用封裝后的語法語句,對所述特定數(shù)據(jù)庫表進(jìn)行操作,得到操作結(jié)果;[0021]發(fā)送模塊,用于將所述分析處理模塊得到的處理結(jié)果返回給客戶端。[0022]優(yōu)選的,所述配置文件建立模塊所建立的配置文件為:實體對象的屬性與表屬性相同。[0023]優(yōu)選的,所述配置文件配置的表屬性為表字段。[0024]優(yōu)選的,所述封裝模塊所封裝的mongodb中的語法語句包括查詢語句、刪除語句、更新語句和存儲語句中的一種或幾種。[0025]本發(fā)明的有益效果如下:[0026]本發(fā)明提供一種種mongodb的操作方法和裝置,將數(shù)據(jù)庫表與實體對象綁定,二者具有相同的屬性,由于實體對象的穩(wěn)定性,當(dāng)用戶需要操作某一個數(shù)據(jù)庫表時,只需要輸入操作請求,而不需要更改其他程序內(nèi)容,即能快速的返回操作結(jié)果,提高查詢的響應(yīng)速度。另外,將mongodb常用語法進(jìn)行封裝,開發(fā)人員不需掌握mongodb語法,只需要調(diào)用封裝后的語法即可,可以非常方便的操作數(shù)據(jù)庫。【專利附圖】【附圖說明】[0027]圖1為本發(fā)明提供的mongodb類庫的操作方法流程示意圖。[0028]圖2為本發(fā)明提供的mongodb類庫的操作裝置結(jié)構(gòu)示意圖?!揪唧w實施方式】[0029]以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明:[0030]如圖1所示,本發(fā)明提供一種mongodb的操作方法,包括以下步驟:[0031]SI,分別創(chuàng)建實體對象和數(shù)據(jù)庫表;其中,所述實體對象具有實體對象屬性,所述數(shù)據(jù)庫表具有表屬性;其中,表屬性可以為表字段。[0032]S2,通過配置文件綁定實體對象與數(shù)據(jù)庫表,即:建立實體對象屬性與表屬性的映身寸關(guān)系。[0033]在具體實現(xiàn)方式上,配置文件可以為:實體對象的屬性與表屬性相同,從而綁定實體對象與數(shù)據(jù)庫表。[0034]S3,分別封裝mongodb中的語法語句;實際應(yīng)用中,可以封裝mongodb中的復(fù)雜語法語句,包括查詢語句、刪除語句、更新語句和存儲語句等。[0035]當(dāng)接收到對mongodb的操作請求時,從所述操作請求中提取操作關(guān)鍵字;通過分析所述操作關(guān)鍵字,獲得與所述操作關(guān)鍵字對應(yīng)的特定實體對象,再通過所述配置文件,獲得與所述特定實體對象對應(yīng)的特定數(shù)據(jù)庫表,調(diào)用封裝后的語法語句,對所述特定數(shù)據(jù)庫表進(jìn)行操作,得到操作結(jié)果;[0036]S4,返回所述操作結(jié)果。[0037]例如,某張考勤記錄的數(shù)據(jù)庫表,表名為table,具有兩個字段,分別為name和time;則所創(chuàng)建的與該數(shù)據(jù)庫表綁定的實體對象也具有兩個屬性,分別為與name對應(yīng)的屬性1,與time對應(yīng)的屬性2。[0038]當(dāng)用戶輸入查詢table數(shù)據(jù)庫表中name為張三的考勤記錄時,則通過查找配置文件,首先獲得實體對象,再通過實體對象查找到表名為table的數(shù)據(jù)庫表,然后,調(diào)用封裝后的查詢語法語句,對表名為table的數(shù)據(jù)庫表進(jìn)行查詢操作,返回table數(shù)據(jù)庫表中name為張三的考勤記錄。[0039]如圖2所示,本發(fā)明還提供一種mongodb的操作裝置,包括:[0040]創(chuàng)建模塊,用于分別創(chuàng)建實體對象和數(shù)據(jù)庫表;其中,所述實體對象具有實體對象屬性,所述數(shù)據(jù)庫表具有表屬性;[0041]配置文件建立模塊,用于建立配置文件,通過配置文件綁定所述創(chuàng)建模塊創(chuàng)建的實體對象與數(shù)據(jù)庫表,即:建立實體對象屬性與表屬性的映射關(guān)系;[0042]封裝模塊,用于分別封裝mongodb中的語法語句;[0043]接收模塊,用于接收對mongodb的操作請求;[0044]分析處理模塊,用于從所述操作請求中提取操作關(guān)鍵字;通過分析所述操作關(guān)鍵字,獲得與所述操作關(guān)鍵字對應(yīng)的特定實體對象,再通過所述配置文件,獲得與所述特定實體對象對應(yīng)的特定數(shù)據(jù)庫表,調(diào)用封裝后的語法語句,對所述特定數(shù)據(jù)庫表進(jìn)行操作,得到操作結(jié)果;[0045]發(fā)送模塊,用于將所述分析處理模塊得到的處理結(jié)果返回給客戶端。[0046]綜上所述,本發(fā)明將數(shù)據(jù)庫表與實體對象綁定,二者具有相同的屬性,由于實體對象的穩(wěn)定性,當(dāng)用戶需要操作某一個數(shù)據(jù)庫表時,只需要輸入操作請求,而不需要更改其他程序內(nèi)容,即能快速的返回操作結(jié)果,提高查詢的響應(yīng)速度。另外,將mongodb常用語法進(jìn)行封裝,開發(fā)人員不需掌握mongodb語法,只需要調(diào)用封裝后的語法即可,可以非常方便的操作數(shù)據(jù)庫。[0047]以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本【
技術(shù)領(lǐng)域:
】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視本發(fā)明的保護(hù)范圍?!緳?quán)利要求】1.一種mongodb的操作方法,其特征在于,包括以下步驟:SI,分別創(chuàng)建實體對象和數(shù)據(jù)庫表;其中,所述實體對象具有實體對象屬性,所述數(shù)據(jù)庫表具有表屬性;S2,通過配置文件綁定實體對象與數(shù)據(jù)庫表,即:建立實體對象屬性與表屬性的映射關(guān)系;S3,分別封裝mongodb中的語法語句;當(dāng)接收到對mongodb的操作請求時,從所述操作請求中提取操作關(guān)鍵字;通過分析所述操作關(guān)鍵字,獲得與所述操作關(guān)鍵字對應(yīng)的特定實體對象,再通過所述配置文件,獲得與所述特定實體對象對應(yīng)的特定數(shù)據(jù)庫表,調(diào)用封裝后的語法語句,對所述特定數(shù)據(jù)庫表進(jìn)行操作,得到操作結(jié)果;S4,返回所述操作結(jié)果。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述配置文件為:實體對象的屬性與表屬性相同。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,其中,表屬性為表字段。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,S3中,所述mongodb中的語法語句包括查詢語句、刪除語句、更新語句和存儲語句中的一種或幾種。5.—種mongodb的操作裝置,其特征在于,包括:創(chuàng)建模塊,用于分別創(chuàng)建實體對象和數(shù)據(jù)庫表;其中,所述實體對象具有實體對象屬性,所述數(shù)據(jù)庫表具有表屬性;配置文件建立模塊,用于建立配置文件,通過配置文件綁定所述創(chuàng)建模塊創(chuàng)建的實體對象與數(shù)據(jù)庫表,即:建立實體對象屬性與表屬性的映射關(guān)系;封裝模塊,用于分別封裝mongodb中的語法語句;接收模塊,用于接收對mongodb的操作請求;分析處理模塊,用于從所述操作請求中提取操作關(guān)鍵字;通過分析所述操作關(guān)鍵字,獲得與所述操作關(guān)鍵字對應(yīng)的特定實體對象,再通過所述配置文件,獲得與所述特定實體對象對應(yīng)的特定數(shù)據(jù)庫表,調(diào)用封裝后的語法語句,對所述特定數(shù)據(jù)庫表進(jìn)行操作,得到操作結(jié)果;發(fā)送模塊,用于將所述分析處理模塊得到的處理結(jié)果返回給客戶端。6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述配置文件建立模塊所建立的配置文件為:實體對象的屬性與表屬性相同。7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述配置文件配置的表屬性為表字段。8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述封裝模塊所封裝的mongodb中的語法語句包括查詢語句、刪除語句、更新語句和存儲語句中的一種或幾種。【文檔編號】G06F17/30GK104462117SQ201310426681【公開日】2015年3月25日申請日期:2013年9月18日優(yōu)先權(quán)日:2013年9月18日【發(fā)明者】江智偉申請人:北京齊爾布萊特科技有限公司