You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ji Yu cfadminKuang Jia Shi Xian De MongoDB Driver.
Te Xing
Zui Xin Ban De Xie Yi (OP_MSG), Jiao Hu Geng Jia Gao Xiao ;
Feng Zhuang Chu Liao Tong Yi De CURD, Ju He , Tong Ji Deng Jie Kou Fang Fa ;
Dui GridFSDe Shang Chuan , Cha Xun , Shan Chu Deng Cao Zuo , Bing Qie Zhi Chi Fen Pian Chuan Shu ;
Yong You She Qu Zui Wan Shan De BSONJie Xi Qi , Shi Yong Geng Jia Jian Dan , Jie Xi Geng Jia Gao Xiao ;
Geng Jian Ji De Yu Fa Jiang Di Xue Xi Cheng Ben , Wu Xu Fu Za De Diao Yong Ji Ke Wan Cheng Gong Neng ;
Wan Shan De Shi Yong Shi Li , Ke Yi Zi Xing Ce Shi Shi Ji Shi Yong Qing Kuang ;
Lei Xing
Zi Fu Chuan (String)
Er Jin Zhi Lei Xing (Binary/MD5/uuid)
Zheng Ze Biao Da Shi (Regex)
Biao (table/array)
Kong (null)
Wei Ding Yi (undefined)
Shi Jian (datetime/timestamp)
Dui Xiang ID(objectid)
Zheng Xing (int32/int64)
Fu Dian Xing (Double)
Bu Er (true/false)
Da Xiao Zhi (MaxKey/MinKey)
Dai Ma (java script code)
Xiao Lu
Ben Ku Shi Yong Liao Chun LuaShi Xian Liao bsonDe Xu Lie Hua Yu Fan Xu Lie Hua , Dan Shi Jing Guo Yi Duan Shi Jian De Shi Yong Yu Ce Shi Fa Xian Ti Yan Bing Bu Le Guan ; Yin Wei Te Xing Yuan Yin Bi Xu Zeng Jia Fu Za De Fan Xu Lie Hua Liu Cheng ;
Er Wo Men Zhu Yao Zai Yu mongodbFu Wu Qi Jin Xing Jiao Hu De Shi Hou Hui Cai Hui Shi Yong bson, Bing Qie Jiao Hu Qing Qiu De Bian Ma Bu Hui You Tai Duo Nei Rong Suo Yi Zhu Yao Xing Neng Wen Ti Ding Wei Zai bsonDe Fan Xu Lie Hua Shang .
Zai Jing Guo Xiang Xi De Ce Shi Hou Fa Xian Chun LuaShi Xian De BSONFan Xu Lie Hua Xing Neng Shi Fen Zao Gao ,Suo Yi Zui Hou Jing Guo Shi Yong Shi Yong CYu Yan Zhong Xie De Fan Xu Lie Hua Fang Fa Lei Jie Jue Zhe Fang Mian Dai Lai De Yi Xie Fu Mian Ying Xiang .
Zhi De Yi Ti De Shi CYu Yan Ban De Shi Xian Xiao Lu Shi LuaDe 100Bei , Suo Yi Bu Yong Zai Dan Xin Xing Neng Wen Ti Liao ; Bing Qie Nei Bu Neng Zi Dong Jian Cha Yong Hu Shi Fou You Bian Yi Chu CBan Ben De bsonShi Xian , Yong Hu You Xu Yao Bian Yi Ji Ke .
An Zhuang
cloneXiang Mu Dao 3rdMu Lu Xia , Zhe Yang Jiu Wan Cheng Liao Ji Chu An Zhuang ;
(Ke Xuan ) Ru Guo Nin An Zhuang You GCCHuo Zhe clangBian Yi Qi ; Na Yao Ke Yi Jin Ru mongoDe Mu Lu Yun Xing make buildBian Yi lbson.so;
Shi Yong Jie Shao
local mongo = require "mongo"
local bson = require "mongo.bson"
1. Gou Zao Fang Fa
Chuang Jian
function mongo:new(opt) return mongo end
opt.host - stringLei Xing , Fu Wu Qi Yu Ming (Mo Ren Shi :"localhost");
opt.port - integerLei Xing , Fu Wu Qi Duan Kou (Mo Ren Shi :27017);
opt.SSL - booleanLei Xing , Shi Fou Xu Yao Shi Yong SSLXie Yi Wo Shou ;
opt.auth_mode - stringLei Xing , Shou Quan Yan Zheng Mo Shi (Jin Zhi Chi :SCRAM-SHA-1);
opt.db - stringLei Xing , Shou Quan Shu Ju Ku Ming Cheng (Mo Ren Shi :"admin");
opt.username - stringLei Xing , Shou Quan Yong Hu Zhang Hao ;
opt.password - stringLei Xing , Shou Quan Yong Hu Mi Ma ;
Diao Yong Ci Gou Zao Fang Fa Jiang Hui Chuang Jian MongoDBDui Xiang .
Lian Jie
function mongo:connect() return true | nil, string end
Kai Fa Zhe Zai Chuang Jian MongoDBDui Xiang De Shi Hou Ru Guo Tian Xie Liao usernameYu password, Diao Yong Ci Fang Fa De Shi Hou Hui Zi Dong Wan Cheng Shou Quan Ren Zheng .
Dan Ke Neng Cun Zai Shou Quan Cao Zuo Bu Wan Shan (Li Ru Bu Ke Du , Xie )De Qing Kuang , Zhe Jiu Ke Neng Chu Xian Jian Quan Cheng Gong Dan Hou Xu Zhi Xing CRUDShi Ti Shi Jian Quan De Ke Neng ;
Ru Yu Dao Yi Shang Wen Ti , Qing Kai Fa Zhe Zi Xing Shi Yong Xiang Guan Guan Li Gong Ju Jie Jue .
Cheng Gong Fan Hui true, Shi Bai Fan Hui falseYu Shi Bai Xin Xi string,
Duan Kai
function mongo:close() return nil end
Ci Fang Fa Wu Fan Hui Zhi .
2. CRUDCao Zuo
Cha Xun Yu Ju
function mongo:find(database, collect, filter, option) return info, id | nil, string end
database - stringLei Xing , MongoDBDe Shu Ju Ku Ming Cheng ;
collect - stringLei Xing , MongoDBDe Ji He Ming Cheng ;
filter - tableLei Xing , Yi Ge Fu He Yu Fa Gui Fan De Cha Xun Tiao Jian ;
option - tableLei Xing , Ke Xuan Can Shu (option.sort/option.limit/option.skip/option.cursor/option.size/option.project);
filterKe Yi Yong Zuo Cha Xun De Guo Lu Tiao Jian , Li Ru : { nickname = "Li Xiao Long " }Huo Yi Ge Kong Biao ; (Dan Shi Bu Neng Wei Kong Shu Zu );
optionCan Shu De Zu He Zuo Yong Wei You Biao Fen Ye Yu Tiao Yue Fen Ye :
* Tiao Yue Fen Ye (`limit`Yu `skip`): Cao Zuo Fang Shi Lei Si Jie Gou Hua Shu Ju Ku `MySQL`, `Oracle`Deng De `LIMIT`Yu `OFFSET`;
* You Biao Fen Ye (`cursor`Yu `size`):Mei Ci Die Dai (Bao Gua Di Yi Ci )Fan Hui `size`Tiao Shu Ju Yu Xia Ci Die Dai De You Biao `ID`(You Biao `ID`Shi Yi Ci Xing De );
sortCan Shu Zhi Ding Liao Pai Xu De Fang Shi , Biao Da Shi Wei : {sort = {age = 1}} Huo Zhe {sort = {age = -1}}, (1)Sheng Xu , (-1)Jiang Xu ;
projectCan Shu Zhi Ding Liao Cha Xun Shi Ke Yi Shai Xuan Chu Xu Yao Fan Hui De Zi Duan , Zhe Zai Xu Yao Guo Lu Ji He Zi Duan De Qing Kuang Xia Shi Yong Fei Chang You Xiao ;
Cheng Gong Fan Hui tableLei Xing De infoYu integerLei Xing De cursor id, Shi Bai Fan Hui falseYu Shi Bai Xin Xi string.
Cha Ru Yu Ju
function mongo:insert(database, collect, documents, option) return info | nil, string end
database - stringLei Xing , MongoDBDe Shu Ju Ku Ming Cheng ;
collect - stringLei Xing , MongoDBDe Ji He Ming Cheng ;
documents - tableShu Zu Lei Xing , Bao Han (Zhi Shao )You Yi Ge Huo Zhe Duo Ge (Ke Xuan )Wen Dang De Shu Zu ;
option - tableLei Xing , Ke Xuan Can Shu (option.ordered);
documentsWei Wen Dang Shu Zu , Ji Shi Zhi Cha Ru Yi Tiao Shu Ju Ye Ying Gai Shi Yong Zhe Yang De Shu Zu Biao Da Shi : { {nickname = "Ming Cheng ", age = 18 }};
option.orderedMo Ren Wei false(Ru Guo Cha Ru Duo Tiao De Shi Hou Chu Cuo , Ze Hu Lue Bing Ji Xu Chu Li Hou Xu Shu Ju ), She Zhi Wei trueZe Hui Bu Zai Chu Li Hou Xu Shu Ju ;
Cheng Gong Fan Hui tableLei Xing De info, Shi Bai Fan Hui falseYu Shi Bai Xin Xi string.
Geng Xin Yu Ju
function mongo:update(database, collect, filter, set, option) return info | nil, string end
database - stringLei Xing , MongoDBDe Shu Ju Ku Ming Cheng ;
collect - stringLei Xing , MongoDBDe Ji He Ming Cheng ;
filter - tableLei Xing , Cha Xun Guo Lu De Tiao Jian ;
set - tableLei Xing , Cha Xun Xiu Gai De Nei Rong ;
option - tableLei Xing , Ke Xuan Can Shu (option.upsert/option.multi);
filterKe Yi Yong Zuo Cha Xun De Guo Lu Tiao Jian , Li Ru : { nickname = "Li Xiao Long " }Huo Yi Ge Kong Biao ; (Dan Shi Bu Neng Wei Kong Shu Zu );
setCan Shu Wei Yi Ge Wen Dang Huo Zhe Wen Dang Geng Xin Yu Fa , Ju Ti Shi Yong Fang Shi Lei Si mongo shellYu Fa :
* `mongo:update('db', 'table', { name = "123" }, { ['$set'] = { name = "234" } } )`
* `mongo:update('db', 'table', { name = "123" }, { ['$inc'] = { age = 1 } } )`
* `mongo:update('db', 'table', { name = "123" }, { ['$unset'] = { age = 1} } )`
option.upsertMo Ren Wei false; Ru Guo She Zhi Wei true, Ze Biao Shi Bu Cun Zai setZhi Ding De Ji Lu Ze Cha Ru ;
option.multiMo Ren Wei false(Zhi Geng Xin Zhao Dao De Di Yi Tiao Ji Lu ), Ru Guo She Zhi Wei true, Ze Biao Shi Geng Xin Suo You Ji Lu ;
Cheng Gong Fan Hui tableLei Xing De info, Shi Bai Fan Hui falseYu Shi Bai Xin Xi string.
Shan Chu Yu Ju
function mongo:delete(database, collect, option) return info | nil, string end
database - stringLei Xing , MongoDBDe Shu Ju Ku Ming Cheng ;
collect - stringLei Xing , MongoDBDe Ji He Ming Cheng ;
filter - tableLei Xing , Cha Xun Guo Lu De Tiao Jian ;
option - tableLei Xing , Ke Xuan Can Shu (option.one);
filterKe Yi Yong Zuo Cha Xun De Guo Lu Tiao Jian , Li Ru : { nickname = "Li Xiao Long " }Huo Yi Ge Kong Biao ; (Dan Shi Bu Neng Wei Kong Shu Zu );
option.oneShu Xing Zhi Ding Wei 1Biao Shi Zhi Shan Chu 1Tiao Shu Ju , Qi Ta Zhi Yu Mo Ren Qing Kuang Xia Du Biao Shi Shan Chu Suo You Pi Pei Xiang ;
Cheng Gong Fan Hui tableLei Xing De info, Shi Bai Fan Hui falseYu Shi Bai Xin Xi string.
3. Ju He Cao Zuo
Tong Ji Cha Xun
function mongo:count(database, collect, filter) return info | nil, string end
database - stringLei Xing , MongoDBDe Shu Ju Ku Ming Cheng ;
collect - stringLei Xing , MongoDBDe Ji He Ming Cheng ;
filter - tableLei Xing , Cha Xun Guo Lu De Tiao Jian ;
Gen Ju filterCan Shu De Guo Lu Tiao Jian (Ke Yi Wei Kong ), Tong Ji Ji He Nei Fu He Guo Lu Tiao Jian De Shu Liang ;
Cheng Gong Fan Hui tableLei Xing De info, Shi Bai Fan Hui falseYu Shi Bai Xin Xi string.
Ju He Cha Xun
function mongo:aggregate(database, collect, filters, option) return info | nil, string end
database - stringLei Xing , MongoDBDe Shu Ju Ku Ming Cheng ;
collect - stringLei Xing , MongoDBDe Ji He Ming Cheng ;
filters - tableLei Xing , Cha Xun Guo Lu De Tiao Jian De Shu Zu ;
Ci Fang Fa De Fan Hui Zhi Nei Rong Hui Gen Ju Shi Ji filterNei De Ti Gong De Can Shu Biao Da Shi Fan Hui Bu Tong De Nei Rong ;
Cheng Gong Fan Hui tableLei Xing De info, Shi Bai Fan Hui falseYu Shi Bai Xin Xi string.
Shi Yong Shi Li :
Yi Xia Shi Li Zhan Shi Liao Ji Chu APIDe Shi Yong Fang Fa .
localm=mongo:new { db="mydb", -- Shou Quan DBMing Cheng username="admin", -- Shou Quan Yong Hu Ming Cheng password="admin", -- Shou Quan Yong Hu Mi Ma }
require"logging":DEBUG("Kai Shi ")
localok, err=m:connect() ifnotokthen returnprint(false, err) end
localdatabase, collect="mydb", "table"
localtab
tab, err=m:insert(database, collect, { { nickname="Che Xian Sheng ", age=30, ts=bson.timestamp(), nullptr=bson.null(), regex=bson.regex("/Xian Sheng /i"), uuid=bson.uuid() }, { nickname="Che Tai Tai ", age=26, ts=bson.timestamp(), nullptr=bson.null(), regex=bson.regex("/Tai Tai /i"), guid=bson.guid() }, }) ifnottabthen returnprint(false, err) end var_dump(tab)
tab, err=m:find(database, collect) ifnottabthen returnprint(false, err) end var_dump(tab)
tab, err=m:update(database, collect, { nickname="Che Tai Tai " }, { ["$set"] = { nickname="Che Xian Sheng " }}) ifnottabthen returnprint(false, err) end var_dump(tab)
tab, err=m:find(database, collect) ifnottabthen returnprint(false, err) end var_dump(tab)
localm=mongo:new { db="mydb", -- Shou Quan DBMing Cheng username="admin", -- Shou Quan Yong Hu Ming Cheng password="admin", -- Shou Quan Yong Hu Mi Ma }
require"logging":DEBUG("Kai Shi ")
localok, err=m:connect() ifnotokthen returnprint(false, err) end
localdatabase, collect="mydb", "table"
localtab, id
tab, err=m:count(database, collect, {}) ifnottabthen returnprint(false, err) end var_dump(tab)
tab, id=m:aggregate(database, collect ,{ { ["$match"] = {age=26} }, { ["$sort"] = {_id=-1} }, } ,{ -- cursor = 8896207551195673826, -- You Biao De Xie Fa . -- size = 3, -- Ju He Han Shu Nei Dan Du Zhi Ding sizeWu Yi Yi , Ru You Bi Yao Qing Zai filetersLi Shi Yong $limit } ) ifnottabthen returnprint(false, err) end print(tab, #tab, id) -- var_dump(tab)