You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.0 KiB
Lua
74 lines
2.0 KiB
Lua
local mongodbx = {}
|
|
|
|
local skynet = require "skynet"
|
|
|
|
local MONGODBL_POOL
|
|
|
|
-- 有些 服务 不允许在 init 阶段处理
|
|
-- 暂时需改成 第一次调用 查询
|
|
-- skynet.init(function ()
|
|
-- MONGODBL_POOL = skynet.queryservice("mongodbpool")
|
|
-- end)
|
|
|
|
--show dbs;
|
|
-- use ant_account
|
|
--db.dropDatabase()
|
|
-- show collections
|
|
-- db.collection.find() --collection需替换对应具体名字
|
|
--db.collection.find( { qty: { $gt: 4 } } )
|
|
|
|
local function block_query()
|
|
-- body
|
|
if not MONGODBL_POOL then
|
|
MONGODBL_POOL = skynet.queryservice("mongodbpool")
|
|
end
|
|
end
|
|
|
|
function mongodbx.find(table_name, cname, conds)
|
|
block_query()
|
|
return skynet.call(MONGODBL_POOL, "lua", "find", table_name, cname, conds)
|
|
end
|
|
|
|
function mongodbx.findOne(table_name, cname, conds)
|
|
block_query()
|
|
return skynet.call(MONGODBL_POOL, "lua", "findOne", table_name, cname, conds)
|
|
end
|
|
|
|
function mongodbx.aggregate(table_name, cname, operation)
|
|
block_query()
|
|
return skynet.call(MONGODBL_POOL, "lua", "aggregate", table_name, cname, operation)
|
|
end
|
|
|
|
function mongodbx.upsert(table_name, cname, conds, datas)
|
|
block_query()
|
|
return skynet.call(MONGODBL_POOL, "lua", "upsert", table_name, cname, conds, datas)
|
|
end
|
|
|
|
|
|
function mongodbx.updateMany(table_name, cname, conds, datas)
|
|
block_query()
|
|
return skynet.call(MONGODBL_POOL, "lua", "updateMany", table_name, cname, conds, datas)
|
|
end
|
|
|
|
function mongodbx.insert(table_name, cname, datas)
|
|
block_query()
|
|
return skynet.call(MONGODBL_POOL, "lua", "insert", table_name, cname, datas)
|
|
end
|
|
|
|
function mongodbx.batch_insert(table_name, cname, datas)
|
|
block_query()
|
|
return skynet.call(MONGODBL_POOL, "lua", "batch_insert", table_name, cname, datas)
|
|
end
|
|
|
|
function mongodbx.del(table_name, cname, conds)
|
|
block_query()
|
|
return skynet.call(MONGODBL_POOL, "lua", "del", table_name, cname, conds)
|
|
end
|
|
|
|
function mongodbx.exec(cmd, ...)
|
|
block_query()
|
|
return skynet.call(MONGODBL_POOL, "lua", cmd, ...)
|
|
end
|
|
|
|
return mongodbx
|