1.mongodb的基本概念是文档,集合,数据库
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