最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

基于MongoDB的數(shù)據(jù)查詢方法及系統(tǒng)、服務(wù)終端、存儲(chǔ)器與流程

文檔序號(hào):11199297閱讀:489來源:國知局
基于MongoDB的數(shù)據(jù)查詢方法及系統(tǒng)、服務(wù)終端、存儲(chǔ)器與流程

本發(fā)明屬于數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種基于mongodb的數(shù)據(jù)查詢方法及系統(tǒng)、服務(wù)終端、存儲(chǔ)器。



背景技術(shù):

mongodb是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫,旨在為web應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案,mongodb是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,在非關(guān)系數(shù)據(jù)庫當(dāng)中功能很豐富、非常類似關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bjson格式,因此可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類型。mongodb支持的查詢語言非常強(qiáng)大,其語法類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引,因此mongodb作為分布式文件存儲(chǔ)的數(shù)據(jù)庫得到了廣泛應(yīng)用。

在企業(yè)運(yùn)作的過程中,通常需要對各類產(chǎn)品、物料、設(shè)備等進(jìn)行多樣性的性能測試,以保證產(chǎn)品的質(zhì)量。由于測試的側(cè)重點(diǎn)和性能不同,需要多種多樣的測試站和測試項(xiàng)給予測試支持,而測試數(shù)據(jù)的存儲(chǔ)、查詢和解析帶來很大的挑戰(zhàn)。

傳統(tǒng)的測試數(shù)據(jù)存儲(chǔ)管理方式大體有兩種,一種是將測試數(shù)據(jù)以文件的形式存儲(chǔ)在服務(wù)器硬盤中,并通過關(guān)系數(shù)據(jù)庫的表進(jìn)行路徑管理,當(dāng)查詢的時(shí)候,先經(jīng)過數(shù)據(jù)庫表獲得產(chǎn)品的測試文件路徑,然后在磁盤指定位置解析各個(gè)測試文件,并進(jìn)行其他分析。

另一種是設(shè)計(jì)通用的關(guān)系型數(shù)據(jù)庫表結(jié)構(gòu),通過多個(gè)表的聯(lián)合存儲(chǔ)實(shí)現(xiàn)多測試工站多測試項(xiàng)的存儲(chǔ),雖然極大的解決了存儲(chǔ)和解析的性能。但仍需要對特定格式的測試數(shù)據(jù)逐一解析到表里,查詢解析的時(shí)候,也需將表里的測試數(shù)據(jù)還原回原始的狀態(tài),性能仍然不是很理想。這種數(shù)據(jù)庫表結(jié)構(gòu)太依賴于具體業(yè)務(wù),當(dāng)業(yè)務(wù)有變動(dòng)時(shí),可能需要對表的字段,甚至整個(gè)表結(jié)構(gòu)體系做修改。

以報(bào)表為例,現(xiàn)有的技術(shù)中,針對每一種報(bào)表分別建議對應(yīng)的模型類,不同的數(shù)據(jù)庫查詢類,以滿足不同的查詢需求,在不同查詢需求之間,由于查詢語句不通用,返回的數(shù)據(jù)模型不一致而無法實(shí)現(xiàn)通用目的,而對于傳統(tǒng)的關(guān)系數(shù)據(jù)庫,所有數(shù)據(jù)查詢都需要以sql(structuredquerylanguage,結(jié)構(gòu)化查詢語言)形式固定下來,缺乏靈活性,降低查詢效率。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供了一種基于mongodb的數(shù)據(jù)查詢方法及系統(tǒng)、服務(wù)終端、存儲(chǔ)器,旨在解決現(xiàn)有技術(shù)中針對不同的查詢需求需要重新編碼降低查詢效率的問題。

本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種基于mongodb的數(shù)據(jù)查詢方法,包括:

接收數(shù)據(jù)查詢指示,并獲取查詢參數(shù);

基于所述查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu);

基于所述查詢參數(shù)及所述結(jié)構(gòu)組裝查詢語句;

調(diào)用所述查詢語句從數(shù)據(jù)庫中獲取與所述查詢指示對應(yīng)的原始數(shù)據(jù)。

優(yōu)選地,所述接收數(shù)據(jù)查詢指示,并獲取查詢參數(shù)之后、所述基于所述查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu)之前還包括:

基于所述查詢參數(shù)獲取需要查詢的數(shù)據(jù)的參數(shù),所述數(shù)據(jù)的參數(shù)包括目標(biāo)表名。

優(yōu)選地,所述基于所述查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu)具體為:

基于所述目標(biāo)表名從所述數(shù)據(jù)字典中獲取對應(yīng)的數(shù)據(jù)結(jié)構(gòu)。

優(yōu)選地,所述基于所述查詢參數(shù)及所述結(jié)構(gòu)組裝查詢語句具體為:

基于所述查詢參數(shù)及所獲取的數(shù)據(jù)結(jié)構(gòu)組裝查詢語句。

優(yōu)選地,所述查詢語句為bson查詢語句,所述調(diào)用所述查詢語句從數(shù)據(jù)庫中獲取與所述查詢指示對應(yīng)的原始數(shù)據(jù)具體為:

調(diào)用所述bson查詢語句從所述數(shù)據(jù)庫中查詢并獲取與所述目標(biāo)表名對應(yīng)的原始表結(jié)構(gòu)。

優(yōu)選地,所述數(shù)據(jù)的參數(shù)還包括期望結(jié)構(gòu)參數(shù),所述調(diào)用所述查詢語句從數(shù)據(jù)庫中獲取與所述查詢指示對應(yīng)的原始數(shù)據(jù)之后還包括:

基于所述期望結(jié)構(gòu)參數(shù)及所述原始表結(jié)構(gòu)組裝形成期望數(shù)據(jù)結(jié)構(gòu)。

優(yōu)選地,所述基于所述期望結(jié)構(gòu)參數(shù)及所述原始表結(jié)構(gòu)組裝形成期望數(shù)據(jù)結(jié)構(gòu)之后還包括:

存儲(chǔ)所述期望數(shù)據(jù)結(jié)構(gòu),并反饋所述期望數(shù)據(jù)結(jié)構(gòu)。

本發(fā)明還提供一種基于mongodb的數(shù)據(jù)查詢系統(tǒng),包括:

參數(shù)獲取模塊,用于接收數(shù)據(jù)查詢指示,并獲取查詢參數(shù);

結(jié)構(gòu)獲取模塊,用于基于所述查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu);

組裝模塊,用于基于所述查詢參數(shù)及所述結(jié)構(gòu)組裝查詢語句;

數(shù)據(jù)獲取模塊,用于調(diào)用所述查詢語句從數(shù)據(jù)庫中獲取與所述查詢指示對應(yīng)的原始數(shù)據(jù)。

本發(fā)明還提供一種存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行如下步驟:

接收數(shù)據(jù)查詢指示,并獲取查詢參數(shù);

基于所述查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu);

基于所述查詢參數(shù)及所述結(jié)構(gòu)組裝查詢語句;

調(diào)用所述查詢語句從數(shù)據(jù)庫中獲取與所述查詢指示對應(yīng)的原始數(shù)據(jù)。

本發(fā)明還提供一種服務(wù)終端,包括存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)以下步驟:

接收數(shù)據(jù)查詢指示,并獲取查詢參數(shù);

基于所述查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu);

基于所述查詢參數(shù)及所述結(jié)構(gòu)組裝查詢語句;

調(diào)用所述查詢語句從數(shù)據(jù)庫中獲取與所述查詢指示對應(yīng)的原始數(shù)據(jù)。

在本發(fā)明實(shí)施例中,需要查詢數(shù)據(jù)時(shí),根據(jù)查詢參數(shù)動(dòng)態(tài)組裝查詢語句,獲得對應(yīng)的數(shù)據(jù),無需為每一次查詢進(jìn)行獨(dú)立編碼,提高查詢效率。

附圖說明

圖1是本發(fā)明第一實(shí)施例提供的一種基于mongodb的數(shù)據(jù)查詢方法的一優(yōu)選方案的流程圖;

圖2是本發(fā)明第一實(shí)施例提供的一種基于mongodb的數(shù)據(jù)查詢方法的另一優(yōu)選方案的流程圖;

圖3是本發(fā)明第二實(shí)施例提供的一種基于mongodb的數(shù)據(jù)查詢系統(tǒng)的一優(yōu)選方案的結(jié)構(gòu)圖;

圖4是本發(fā)明第二實(shí)施例提供的一種基于mongodb的數(shù)據(jù)查詢系統(tǒng)的另一優(yōu)選方案的結(jié)構(gòu)圖;

圖5是本發(fā)明第三實(shí)施例提供的一種服務(wù)終端的結(jié)構(gòu)圖。

具體實(shí)施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本發(fā)明實(shí)施例中,一種基于mongodb的數(shù)據(jù)查詢方法,包括:接收數(shù)據(jù)查詢指示,并獲取查詢參數(shù);基于所述查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu);基于所述查詢參數(shù)及所述結(jié)構(gòu)組裝查詢語句;調(diào)用所述查詢語句從數(shù)據(jù)庫中獲取與所述查詢指示對應(yīng)的原始數(shù)據(jù)。

為了說明本發(fā)明所述的技術(shù)方案,下面通過具體實(shí)施例來進(jìn)行說明。

實(shí)施例一:

圖1示出了本發(fā)明第一實(shí)施例提供的一種基于mongodb的數(shù)據(jù)查詢方法的一優(yōu)選方案的的流程圖,包括:

步驟s1、接收數(shù)據(jù)查詢指示,并獲取查詢參數(shù);

具體地,當(dāng)用戶需要查詢數(shù)據(jù)時(shí),從查詢接口(例如api接口)中輸入查詢指示,該查詢指示可包括查詢參數(shù),該查詢參數(shù)可包括需要查詢的數(shù)據(jù)表、數(shù)據(jù)表名稱、期望的數(shù)據(jù)表的結(jié)構(gòu)等,還可包括查詢參數(shù)的識(shí)別碼(如id)等,此處對此不作限制。

步驟s2,基于查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu);

具體地,預(yù)先設(shè)置一個(gè)數(shù)據(jù)字典,該數(shù)據(jù)字典存儲(chǔ)有所有待查詢表的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)可以任一形式存在,例如表格、列表等,本實(shí)施例中,優(yōu)選為表-字段的形式存在,其中,所述表即為需要查詢的表,所述字段即為所述表包括的字段,根據(jù)該查詢參數(shù)從該數(shù)據(jù)字典中獲取到需要查詢的數(shù)據(jù)的結(jié)構(gòu)。

步驟s3,基于查詢參數(shù)及結(jié)構(gòu)組裝查詢語句;

具體地,根據(jù)該查詢參數(shù)及所獲取的需要查詢的數(shù)據(jù)的結(jié)構(gòu)組裝查詢語句,進(jìn)一步地,基于上述目標(biāo)表名及所獲取的數(shù)據(jù)結(jié)構(gòu)來組裝查詢語句。優(yōu)選地,該查詢語句為bson查詢語句。

步驟s4,調(diào)用查詢語句從數(shù)據(jù)庫中獲取與查詢指示對應(yīng)的原始數(shù)據(jù)。

具體地,組裝該查詢語句后,調(diào)用該查詢語句從數(shù)據(jù)庫中查詢并獲取對應(yīng)的原始數(shù)據(jù),該數(shù)據(jù)庫存儲(chǔ)有所有需要查詢的原始數(shù)據(jù)(表)等。

在本實(shí)施例的一個(gè)優(yōu)選方案中,步驟s1之后、步驟s2之前還可包括:

步驟s0,基于查詢參數(shù)獲取需要查詢的數(shù)據(jù)的參數(shù);

具體地,利用查詢解析器從查詢參數(shù)中獲取需要查詢的數(shù)據(jù)的參數(shù),例如目標(biāo)表的名稱、期望結(jié)構(gòu)參數(shù)等。

在本實(shí)施例的一個(gè)優(yōu)選方案中,該步驟s2具體為:根據(jù)查詢參數(shù)中的目標(biāo)表名獲取對應(yīng)的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)為對應(yīng)的目標(biāo)表的原始數(shù)據(jù)結(jié)構(gòu)。

在本實(shí)施例的一個(gè)優(yōu)選方案中,該步驟s3具體為:調(diào)用bson查詢語句從數(shù)據(jù)庫中查詢請求與目標(biāo)表名對應(yīng)的原始表結(jié)構(gòu),并獲取對應(yīng)的原始表結(jié)構(gòu)。

在本實(shí)施例的一個(gè)優(yōu)選方案中,該數(shù)據(jù)的參數(shù)還包括期望結(jié)構(gòu)參數(shù),該步驟s4之后還可包括:

步驟s5,基于期望結(jié)構(gòu)參數(shù)及原始表結(jié)構(gòu)組裝形成期望數(shù)據(jù)結(jié)構(gòu);

具體地,將該期望結(jié)構(gòu)參數(shù)及原始表結(jié)構(gòu)進(jìn)行對比分析,當(dāng)二者有差異時(shí),基于該期望結(jié)構(gòu)參數(shù)對該原始表結(jié)構(gòu)進(jìn)行組裝,形成期望數(shù)據(jù)結(jié)構(gòu)。

在本實(shí)施例的一個(gè)優(yōu)選方案中,該步驟s5之后還可包括(見圖2):

步驟s6,存儲(chǔ)期望數(shù)據(jù)結(jié)構(gòu),并反饋與期望數(shù)據(jù)結(jié)構(gòu)。

具體地,當(dāng)組裝形成期望數(shù)據(jù)結(jié)構(gòu)后,存儲(chǔ)該期望數(shù)據(jù)結(jié)構(gòu)(例如期望表結(jié)構(gòu)),并向用戶反饋該期望數(shù)據(jù)結(jié)構(gòu),優(yōu)選地,以識(shí)別碼的方式向用戶反饋對應(yīng)的期望數(shù)據(jù)結(jié)構(gòu),用戶可根據(jù)該識(shí)別碼來獲取期望數(shù)據(jù)結(jié)構(gòu)。

在本實(shí)施例中,預(yù)設(shè)一個(gè)期望結(jié)構(gòu)數(shù)據(jù)庫,可通過識(shí)別碼來獲取對應(yīng)的期望數(shù)據(jù)結(jié)構(gòu),無需在查詢參數(shù)中包括詳細(xì)的數(shù)據(jù)結(jié)構(gòu)的相關(guān)參數(shù),可減少網(wǎng)絡(luò)負(fù)擔(dān)。

本實(shí)施例中,需要查詢數(shù)據(jù)時(shí),根據(jù)查詢參數(shù)動(dòng)態(tài)組裝查詢語句,獲得對應(yīng)的數(shù)據(jù),無需為每一次查詢進(jìn)行獨(dú)立編碼,提高查詢效率,減輕服務(wù)器負(fù)擔(dān)。

此外,根據(jù)查詢參數(shù)動(dòng)態(tài)組裝查詢語句,而每一個(gè)查詢參數(shù)均不同,無需按照固定模式綁定參數(shù),靈活性強(qiáng),貼近用戶實(shí)際需求。

再者,根據(jù)需求對查詢的數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理,輸出期望的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)過程簡單,給用戶帶來便利。

實(shí)施例二:

圖3示出了本發(fā)明第二實(shí)施例提供的一種基于mongodb的數(shù)據(jù)查詢系統(tǒng)的一優(yōu)選方案的結(jié)構(gòu)圖,該系統(tǒng)包括:參數(shù)獲取模塊1、與參數(shù)獲取模塊1連接的結(jié)構(gòu)獲取模塊2、與結(jié)構(gòu)獲取模塊2連接的語句組裝模塊3、與語句組裝模塊3連接的數(shù)據(jù)獲取模塊4,其中:

參數(shù)獲取模塊1,用于接收數(shù)據(jù)查詢指示,并獲取查詢參數(shù);

具體地,當(dāng)用戶需要查詢數(shù)據(jù)時(shí),從查詢接口(例如api接口)中輸入查詢指示,該查詢指示可包括查詢參數(shù),該查詢參數(shù)可包括需要查詢的數(shù)據(jù)表、數(shù)據(jù)表名稱、期望的數(shù)據(jù)表的結(jié)構(gòu)等,還可包括查詢參數(shù)的識(shí)別碼(如id)等,此處對此不作限制。

結(jié)構(gòu)獲取模塊2,用于基于查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu);

具體地,預(yù)先設(shè)置一個(gè)數(shù)據(jù)字典,該數(shù)據(jù)字典存儲(chǔ)有所有待查詢表的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)可以任一形式存在,例如表格、列表等,本實(shí)施例中,優(yōu)選為表-字段的形式存在,其中,所述表即為需要查詢的表,所述字段即為所述表包括的字段,根據(jù)該查詢參數(shù)從該數(shù)據(jù)字典中獲取到需要查詢的數(shù)據(jù)的結(jié)構(gòu)。

語句組裝模塊3,用于基于查詢參數(shù)及結(jié)構(gòu)組裝查詢語句;

具體地,根據(jù)該查詢參數(shù)及所獲取的需要查詢的數(shù)據(jù)的結(jié)構(gòu)組裝查詢語句,進(jìn)一步地,基于上述目標(biāo)表名及所獲取的數(shù)據(jù)結(jié)構(gòu)來組裝查詢語句。優(yōu)選地,該查詢語句為bson查詢語句。

數(shù)據(jù)獲取模塊4,用于調(diào)用查詢語句從數(shù)據(jù)庫中獲取與查詢指示對應(yīng)的原始數(shù)據(jù)。

具體地,組裝該查詢語句后,調(diào)用該查詢語句從數(shù)據(jù)庫中查詢并獲取對應(yīng)的原始數(shù)據(jù),該數(shù)據(jù)庫存儲(chǔ)有所有需要查詢的原始數(shù)據(jù)(表)等。

在本實(shí)施例的一個(gè)優(yōu)選方案中,該系統(tǒng)還可包括:與參數(shù)獲取模塊1及結(jié)構(gòu)獲取模塊2均連接的查詢模塊5,其中:

查詢模塊5,用于基于查詢參數(shù)獲取需要查詢的數(shù)據(jù)的參數(shù);

具體地,利用查詢解析器從查詢參數(shù)中獲取需要查詢的數(shù)據(jù)的參數(shù),例如目標(biāo)表的名稱、期望結(jié)構(gòu)參數(shù)等。

在本實(shí)施例的一個(gè)優(yōu)選方案中,該結(jié)構(gòu)獲取模塊2具體用于根據(jù)查詢參數(shù)中的目標(biāo)表名獲取對應(yīng)的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)為對應(yīng)的目標(biāo)表的原始數(shù)據(jù)結(jié)構(gòu)。

在本實(shí)施例的一個(gè)優(yōu)選方案中,該組裝模塊3具體用于調(diào)用bson查詢語句從數(shù)據(jù)庫中查詢請求與目標(biāo)表名對應(yīng)的原始表結(jié)構(gòu),并獲取對應(yīng)的原始表結(jié)構(gòu)。

在本實(shí)施例的一個(gè)優(yōu)選方案中,該系統(tǒng)還可包括:與數(shù)據(jù)獲取模塊4連接的結(jié)構(gòu)組裝模塊6,其中:

結(jié)構(gòu)組裝模塊6,用于基于期望結(jié)構(gòu)參數(shù)及原始表結(jié)構(gòu)組裝形成期望數(shù)據(jù)結(jié)構(gòu);

具體地,將該期望結(jié)構(gòu)參數(shù)及原始表結(jié)構(gòu)進(jìn)行對比分析,當(dāng)二者有差異時(shí),基于該期望結(jié)構(gòu)參數(shù)對該原始表結(jié)構(gòu)進(jìn)行組裝,形成期望數(shù)據(jù)結(jié)構(gòu)。

在本實(shí)施例的一個(gè)優(yōu)選方案中(見圖4),該系統(tǒng)還可包括:與結(jié)構(gòu)組裝模塊6連接的反饋模塊7,其中:

反饋模塊7,用于存儲(chǔ)期望數(shù)據(jù)結(jié)構(gòu),并反饋與期望數(shù)據(jù)結(jié)構(gòu)的識(shí)別碼。

具體地,當(dāng)組裝形成期望數(shù)據(jù)結(jié)構(gòu)后,存儲(chǔ)該期望數(shù)據(jù)結(jié)構(gòu)(例如期望表結(jié)構(gòu)),并向用戶反饋該期望數(shù)據(jù)結(jié)構(gòu),優(yōu)選地,以識(shí)別碼的方式向用戶反饋對應(yīng)的期望數(shù)據(jù)結(jié)構(gòu),用戶可根據(jù)該識(shí)別碼來獲取期望數(shù)據(jù)結(jié)構(gòu)。在本實(shí)施例中,預(yù)設(shè)一個(gè)期望結(jié)構(gòu)數(shù)據(jù)庫,可通過識(shí)別碼來獲取對應(yīng)的期望數(shù)據(jù)結(jié)構(gòu),無需在查詢參數(shù)中包括詳細(xì)的數(shù)據(jù)結(jié)構(gòu)的相關(guān)參數(shù),可減少網(wǎng)絡(luò)負(fù)擔(dān)。

本實(shí)施例中,需要查詢數(shù)據(jù)時(shí),根據(jù)查詢參數(shù)動(dòng)態(tài)組裝查詢語句,獲得對應(yīng)的數(shù)據(jù),無需為每一次查詢進(jìn)行獨(dú)立編碼,提高查詢效率,減輕服務(wù)器負(fù)擔(dān)。

此外,根據(jù)查詢參數(shù)動(dòng)態(tài)組裝查詢語句,而每一個(gè)查詢參數(shù)均不同,無需按照固定模式綁定參數(shù),靈活性強(qiáng),貼近用戶實(shí)際需求。

再者,根據(jù)需求對查詢的數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理,輸出期望的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)過程簡單,給用戶帶來便利。

實(shí)施例三:

圖5示出了本發(fā)明第三實(shí)施例提供的一種服務(wù)終端的結(jié)構(gòu)圖,該處服務(wù)終端包括:存儲(chǔ)器(memory)51、處理器(processor)52、通信接口(communicationsinterface)53和總線54,該處理器52、存儲(chǔ)器51、通信接口53通過總線54完成相互之間的交互通信。

存儲(chǔ)器51,用于存儲(chǔ)各種數(shù)據(jù);

具體地,存儲(chǔ)器51用于存儲(chǔ)各種數(shù)據(jù),例如通信過程中的數(shù)據(jù)、接收的數(shù)據(jù)等,此處對此不作限制,該存儲(chǔ)器還包括有多個(gè)計(jì)算機(jī)程序。

通信接口53,用于該服務(wù)終端的通信設(shè)備之間的信息傳輸;

處理器52,用于調(diào)用存儲(chǔ)器51中的各種計(jì)算機(jī)程序,以執(zhí)行上述實(shí)施例一所提供的一種基于mongodb的數(shù)據(jù)查詢方法,例如:

接收數(shù)據(jù)查詢指示,并獲取查詢參數(shù);

基于所述查詢參數(shù)從數(shù)據(jù)字典中獲得需要查詢數(shù)據(jù)的結(jié)構(gòu);

基于所述查詢參數(shù)及所述結(jié)構(gòu)組裝查詢語句;

調(diào)用所述查詢語句從數(shù)據(jù)庫中獲取與所述查詢指示對應(yīng)的原始數(shù)據(jù)。

進(jìn)一步地,還可執(zhí)行下述步驟:

基于所述查詢參數(shù)獲取需要查詢的數(shù)據(jù)的參數(shù),所述數(shù)據(jù)的參數(shù)包括目標(biāo)表名。

基于所述期望結(jié)構(gòu)參數(shù)及所述原始表結(jié)構(gòu)組裝形成期望數(shù)據(jù)結(jié)構(gòu)。

存儲(chǔ)所述期望數(shù)據(jù)結(jié)構(gòu),并反饋所述期望數(shù)據(jù)結(jié)構(gòu)。

本實(shí)施例中,需要查詢數(shù)據(jù)時(shí),根據(jù)查詢參數(shù)動(dòng)態(tài)組裝查詢語句,獲得對應(yīng)的數(shù)據(jù),無需為每一次查詢進(jìn)行獨(dú)立編碼,提高查詢效率,減輕服務(wù)器負(fù)擔(dān)。

此外,根據(jù)查詢參數(shù)動(dòng)態(tài)組裝查詢語句,而每一個(gè)查詢參數(shù)均不同,無需按照固定模式綁定參數(shù),靈活性強(qiáng),貼近用戶實(shí)際需求。

再者,根據(jù)需求對查詢的數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理,輸出期望的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)過程簡單,給用戶帶來便利。

本發(fā)明還提供一種存儲(chǔ)器,該存儲(chǔ)器存儲(chǔ)有多個(gè)計(jì)算機(jī)程序,該多個(gè)計(jì)算機(jī)程序被處理器調(diào)用執(zhí)行上述實(shí)施例一所述的一種基于mongodb的數(shù)據(jù)查詢方法。

本發(fā)明中,需要查詢數(shù)據(jù)時(shí),根據(jù)查詢參數(shù)動(dòng)態(tài)組裝查詢語句,獲得對應(yīng)的數(shù)據(jù),無需為每一次查詢進(jìn)行獨(dú)立編碼,提高查詢效率,減輕服務(wù)器負(fù)擔(dān)。

此外,根據(jù)查詢參數(shù)動(dòng)態(tài)組裝查詢語句,而每一個(gè)查詢參數(shù)均不同,無需按照固定模式綁定參數(shù),靈活性強(qiáng),貼近用戶實(shí)際需求。

再者,根據(jù)需求對查詢的數(shù)據(jù)結(jié)構(gòu)進(jìn)行處理,輸出期望的數(shù)據(jù)結(jié)構(gòu),實(shí)現(xiàn)過程簡單,給用戶帶來便利。

本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。

專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1