openresty利用插件lua-resty-moongoo操作mongodb (二)

本文介绍使用Lua语言操作MongoDB的方法,包括连接数据库、选择数据库、集合管理等基本操作,以及索引管理和文档查询等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.mongodb的基本概念是文档,集合,数据库

131956_Igsx_2263272.png

2.文档是一组键值(key-value)对即

3.moongoo方法

3.1新建一个moongoo实例

<moongoo_obj>mgobj, <string>error = moongoo.new(<string>connection_string)

local mg, err = moongoo.new("mongodb://user:password@hostname/?w=2")

3.2关闭mongodb连接(luasocket)或者把它放到连接池(openresty),如果发布新的读/写命令时将会重新打开连接

mgobj:close()

3.3选择可以使用的数据库db

<database> dbobj= mgobj:db(<string> name)

db = mg:db("test")

4.数据库方法

4.1选择一个可用的集合collection

collection

<collection> colobj=dbobj:collection(<string>name)

col =db:collection("my_test")

4.2 gridfs

gridfs

<gridfs> gridfsobj= dbobj:gridfs(<optional string> prefix)

4.3 cmd 

运行数据库命令,command有可能是带有命令名称的字符串,参数是命令参数

<document>result,<string> error=dbobj:cmd(<string or table>command,<table>params)


local result,error=dbobj:cmd({distinct="some.collection"},{key="somekey"})

5.collection集合方法

5.1create 创建一个新的集合,返回新建的集合对象

<collection> new_colobj,<string>error=colobj:create(<string>name)

5.2 drop 删除一个集合

<bool>result,<string>error=colobj:drop()

5.3 rename 重命名集合,如果存在,则删除目标集合

<collection>new_colobj,<string>error=colobj:rename(<string>newname,<bool>drop)

5.4 options 返回集合属性

<document>result,<string>error=colobj:options()

5.5 full_name 返回集合全称

<string> result= colobj:full_name()

5.6stats 返回集合状态情况

<document>result,<string>error=colobj:stats()

5.7 index_infomation 返回集合索引信息

<document>result,<string>error=colobj:index_infomation()

5.8 ensure_index 新建一个索引,索引需为数组,即使只有一个值。

<bool>result,<string>error=colobj:ensure_index(<array>indexes)

5.9 drop_index 删除索引

<bool> result,<string>error=colobj:drop_index(<string>index)

5.10 find查询

<cursor>cursorobj=colobj:find(<table or cbson.oid>query,<table>fields)

5.11 find_one

#返回符合条件的第一个文档
<document>doc,<string>error =colobj:find_one(<table or cbson.oid>query,<table>fields)

5.12 find_and_modify

#根据opts修改文档,返回旧文档
<document>doc,<string>error=colobj:find_and_modify(<table or cbson.oid>query,<table>opts)

5.13 insert

#插入新的一个或多个文档,返回插入的ids

 

转载于:https://my.oschina.net/u/2263272/blog/1588276

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值