您現在的位置是:電腦技術吧?>? 基礎知識 ??>??數據庫如何使用,如何建立數據庫??>??正文詳情

數據庫如何使用,如何建立數據庫

端木春蘭2019-11-28 11:31:59 人圍觀
簡介access數據庫怎么用本文主要介紹lua操作mongodb數據庫的實例。本文給出了修改后的Lua-Mongo API和mongodb數據庫的具體操作代碼。為了供您參考,最近的一項工作access數據庫入門教程

這篇文章主要介紹了Lua 操作 MongoDB 數據庫實例,本文給出了修改后的lua-mongo API和具體的操作MongoDB 數據庫代碼,需要的朋友可以參考下最近有個工作是使用Nginx Lua實現一個操作MongoDB數據庫的API,主要實現其count和query功能。

之前沒有寫過Lua,于是也就勉強著上手,在cloudwu的 lua-mongo 的基礎上實現了操作MongoDB的API。

cloudwu的lua-mongo驅動實現了連接Mongo,進行find和findOne等基本操作的功能,所以在lua-mongo的基礎上增加了count和query等方法。

修改的具體內容如下:1、API基于luajit-2.0開發,相當于lua 5.1,需要使用lua-compat-5.2兼容lua 5.22、使用ngx.socket.tcp替換mongo.socket模塊3、增加了count,query,auth等方法修改之后的代碼見: lua-mongo具體的操作MongoDB的lua代碼如下:代碼如下:-- lua mongo test script-- utilsfunction string:split(sep)local sep, fields = sep or :, {}local pattern = string.format(([^%s] ), sep)self:gsub(pattern, function(c) fields[#fields 1] = c end)return fieldsend-- 常量HOST = 127.0.0.1PORT = 27017KEEPALIVE_TIMEOUT = 60000KEEPALIVE_SIZE = 100CONN_TIMEOUT = 3000DB_USER = userDB_PASSWD = passwordDB_NAME = blogDB_COLLECTION = article-- 引用mongo = require(mongo)cjson = require(cjson.safe)cbson = require(bson)-- 狀態local status_msg = errorlocal status_code = 500local message = unknown errorlocal mongo_query = {[category_id] = {[$in] = {1,2,3,4}}, [status] = {[$ne] = 2}, [create_time] = {[$lte] = 1427102260}}local mongo_sort = {[create_time] = 1}local mongo_limit = 100local mongo_skip = 0local mongo_fields = { [_id] = false }-- 涉及到時間的字段,需要使用bson轉化一下if mongo_query[create_time] thenlocal create_time = mongo_query[create_time]local t = type(create_time)if t == table thenfor key, value in pairs(create_time) domongo_query[create_time][key] = cbson.date(value)endelsemongo_query[create_time] = cbson.date(create_time)endendlocal conn = mongo.client({ host = HOST, port = PORT })conn:set_timeout(CONN_TIMEOUT)local db = conn:getDB(DB_NAME)local reused_times = conn:get_reused_times()if reused_times == 0 thendb:auth(DB_USER, DB_PASSWD)endlocal col = db:getCollection(DB_COLLECTION)local result = {}-- countlocal count, err = col:count(mongo_query)local ok, err = conn:set_keepalive(KEEPALIVE_TIMEOUT, KEEPALIVE_SIZE)if count ~= nil thenresult = countstatus_code = 200status_msg = okmessage = successend-- querylocal bson_objif mongo_sort thenbson_obj = cbson.encode_order($query, mongo_query, $orderby, mongo_sort)elsebson_obj = cbson.encode({ [$query] = mongo_query })endlocal results = col:query(bson_obj, mongo_fields, mongo_skip, mongo_limit)local ok, err = conn:set_keepalive(KEEPALIVE_TIMEOUT, KEEPALIVE_SIZE)if results thenfor _, object in pairs(results) dofor key, value in pairs(object) doif value == cbson.null thenobject[key] = cjson.nullelselocal type_name, value = cbson.type(value)object[key] = valueendendendresult = resultsstatus_code = 200status_msg = okmessage = successend-- findOnelocal results = col:findOne({[id] = 14 })local ok, err = conn:set_keepalive(KEEPALIVE_TIMEOUT, KEEPALIVE_SIZE)if results thenfor key, value in pairs(results) doif value == cbson.null thenresults[key] = cjson.nullelselocal type_name, value = cbson.type(value)results[key] = valueendendresult = resultsstatus_code = 200status_msg = okmessage = successendngx.status = status_codejson_out = cjson.encode({ status = status_msg, message = message, data = result })ngx.header[Content-Length] = json_out:len()ngx.print(json_out)

版權聲明:本文由 端木春蘭 整理編輯。

原標題:數據庫,vb數據庫實例

轉載注明出處:http://www.dn9ww09s.icu/basics/14704.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 知乎賬號名字,知乎推薦怎么改

    知乎賬號名字,知乎推薦怎么改 相關圖片知乎改了名字還能找到我相信有很多小朋友喜歡看關于芝湖的特別知識。然而,當我們剛注冊智虎時,卻遭到很多人的否定。那么怎么改名字呢?接下來,讓超人軟件帶給你iPhone知乎改...

  • python 字符串以什么結尾,python判斷字符串結尾

    python 字符串以什么結尾,python判斷字符串結尾 相關圖片python 定義字符串本文主要介紹Python根據開始字符串和結束字符串獲取中間字符串的方法,涉及Python字符串截斷的相關技巧,具有一定的參考價值。需要的朋友可以參考下面的例子來pyt...

  • 手機高德地圖怎么標注地點,四川地圖全圖可放大圖片

    手機高德地圖怎么標注地點,四川地圖全圖可放大圖片 相關圖片高德地圖怎么標點多個地點Goldmap是很多小朋友平時出門必備的地圖導航軟件,但你知道如何標記Goldmap的位置嗎?接下來,超人軟件編輯將為您介紹iPhone版goldmap的定位標高德地圖標注工...

  • 三星s9 參數,三星galaxy s9 價格

    三星s9 參數,三星galaxy s9 價格 相關圖片三星s9對于喜愛三星的粉絲來說,galaxy S9對他們來說是一個巨大的誘惑。但是對于rational的粉絲來說,三星Galaxy S9的配置參數是一個我們不得不關注的三星s9參數配置...

  • python程序,python簡單程序

    python程序,python簡單程序 相關圖片python程序設計本文主要介紹Python執行外部程序的常用方法。這些例子總結了Python使用OS模塊和commands模塊執行外部程序的技巧,具有很大的實用價值。需要參考以下python3...

  • 智慧光明登錄步驟,智慧晶為什么不能登陸

    智慧光明登錄步驟,智慧晶為什么不能登陸 相關圖片智慧光明app教程隨著科學技術的發展,教育必然與現代科學技術相結合。今天我想讓大家介紹一下最新流行的教育軟件,智能云,人人通的登錄教程。那么,每個人登錄需要采取哪些步...

  • mongodb增加字段,mongodb加字段

    mongodb增加字段,mongodb加字段 相關圖片mongodb返回指定字段本文主要介紹pymongo在mongodb中控制數字字段添加的方法,涉及Python使用pymongo模塊操作mongodb數據庫字段的技巧,具有一定的參考價值mongodb多字段拼接...

  • 如何清理大量垃圾,垃圾怎么清理

    如何清理大量垃圾,垃圾怎么清理 相關圖片文件夾清理我們都知道微軟推出的Windows7系統服務清洗計劃是針對性的,所以我們先了解一些系統服務的相關知識,然后根據Windows7用戶的各種需求提供針對性的Wind如何快速清理手機垃圾...

  • 迅捷轉換器,迅捷轉換器老轉換失敗

    迅捷轉換器,迅捷轉換器老轉換失敗 相關圖片迅捷視頻轉換器好用嗎在長期的辦公生活中,我們可以熟練掌握辦公文件的使用。然而,每一份辦公文件都有其自身的特點,其生產和使用領域也各不相同。當我們需要將一種格式的文...

  • ico怎么轉換成jpg,ico轉為jpg

    ico怎么轉換成jpg,ico轉為jpg 相關圖片psjpg轉換成ico本文主要介紹Python使用Python magic將JPG圖片轉換成ICO圖片的方法,涉及使用Python magic模塊操作圖片的技巧,具有一定的參考價值。png圖像轉換為ico...

熱評文章

  • 文件轉換格式,怎么把文件轉換為pdf

    文件轉換格式,怎么把文件轉換為pdf 相關圖片zip格式怎么轉換pdf由于PDF文件不易隨意編輯,許多上班族在傳遞工作信息時使用PDF格式的文檔。但是很多人不習慣直接寫PDF。在這種情況下,我們可以先編輯文檔,然后將其轉換為P。...

  • match正則表達式,正則表達式match方法

    match正則表達式,正則表達式match方法 相關圖片python match函數本文主要介紹了Python正則表達式匹配與搜索的使用,并結合實例分析了正則表達式中匹配與搜索的功能、定義及相關使用技巧,具有一定的參考價值。對于需要參考以下示...

  • 書香小說大全 云書架,有個小說的叫書香什么

    書香小說大全 云書架,有個小說的叫書香什么 相關圖片書香小說怎么選章節舒翔小說是一種非常實用的閱讀和學習軟件。這個軟件最大的特點之一就是用戶可以把自己喜歡的小說放在書架上。如何在書架上增加小說?下一步,超人軟件將在...

  • 圖標圓角,圖標變圓角

    圖標圓角,圖標變圓角 相關圖片1加7圖標統一圓角本文主要介紹了在Python中基于兩幅圖片生成圓角圖標效果的方法。實例分析了Python中使用PIL模塊處理圖片的技巧,具有一定的參考價值需要幫助的朋友可以參考app圖標圓...

  • 釘釘群機器人,釘釘群機器人怎么取消

    釘釘群機器人,釘釘群機器人怎么取消 相關圖片釘釘群機器人交互最近,nail引入了一種群體機器人功能。我相信很多小朋友都不知道什么是美甲機器人。今天,超人軟件將介紹如何在iPhone版中建立美甲小組。希望你喜歡!指甲組機器...

  • 無他美顏相機,美顏相機有哪些

    無他美顏相機,美顏相機有哪些 相關圖片美顏相機美女相機哭鬼效果在哪里?美女相機哭鬼的效果其實就是用眼淚化妝。如果你覺得這個特效很有意思,又不知道在哪里,可以看看最近推出的美女相機動畫大頭貼功能。在這里...

  • python沒有pil,python3 pil

    python沒有pil,python3 pil 相關圖片python的pil庫如何安裝本文主要介紹了Python使用PIL生成縮略圖的方法,涉及到Python使用PIL模塊操作圖片的技巧,具有很大的實用價值。您可以參考下面的示例來描述Pythonpython...

  • 才能參加,怎樣才能參加

    才能參加,怎樣才能參加 相關圖片怎么樣才能參加快樂大本營視頻條是一個非常實用的視頻播放軟件。近日,它還推出了1億元的主播現金獎勵活動。那么,我們怎樣才能參加周末嘉年華呢?接下來,超人軟件為您帶來...

  • python內存,python需要多少內存

    python內存,python需要多少內存 相關圖片python占用內存過多本文主要介紹Python使用cstringio訪問臨時內存文件的方法。它涉及到Python使用cstringio模塊操作內存的技巧。對于需要幫助的人,請參考下面python內存占用過大...

  • 有什么相機可以換發色,模擬染發app

    有什么相機可以換發色,模擬染發app 相關圖片哪款拍照軟件可以換發色化妝相機肯定是很多朋友用的,但我們不知道它能改變頭發的顏色。那么如何改變美妝相機的發色呢?接下來,超人軟件編輯將為您介紹改變iPhone版美妝相機發...

關注微信

变脸官网查询