px普贤教程PuXian
普贤教程 › 包参考

mongodb 包

轻量 MongoDB 客户端(OP_MSG 协议)

对照 go-mongo-driver / pymongo 心智:

项值
包名mongodb
版本0.2.0
可用版本0.1.0 / 0.2.0
入口mongodb.px
分类数据库
文件数 / 行数1 / 375

安装与引入

bash
pxpkg init          # 首次
pxpkg add mongodb@0.2.0
pxpkg install
px
import mongodb
所属分类教程:数据库

公开接口

函数参数
mg_bson_encodedoc
mg_bson_decodedata
mg_connecthost, port, timeout_ms
mg_closeconn
mg_helloconn
mg_pingconn
mg_insertconn, db, coll, doc
mg_findconn, db, coll, filter, limit
mg_countconn, db, coll, filter
其余 21 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
o_mg_le32v
o_mg_le64v
o_mg_r32b, off
o_mg_r64b, off
o_mg_u8b, off
o_mg_cstrb, off
o_mg_enc_docd
o_mg_enc_elemname, v
o_mg_builditems, is_arr
o_mg_dec_docb, off, is_arr
o_mg_dec_valb, off, ty
o_recv_exactfd, n
o_cmdconn, cmd
mg_update_oneconn, db, coll, filter, update
mg_update_manyconn, db, coll, filter, update
mg_delete_oneconn, db, coll, filter
mg_delete_manyconn, db, coll, filter
mg_distinctconn, db, coll, field, filter
mg_dropconn, db, coll
mg_create_indexconn, db, coll, keys, name
mg_aggregateconn, db, coll, pipeline

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/mongodb —— 轻量 MongoDB 客户端(OP_MSG 协议)
------------------------------------------------------------
对照 go-mongo-driver / pymongo 心智:
mg_connect(host, port[, timeout_ms]) → Ok(conn dict) | Err
mg_close(conn)                       → Ok | Err
mg_hello(conn)                       → Ok(dict)   # {hello:1} 握手
mg_ping(conn)                        → Ok(bool)
mg_insert(conn, db, coll, doc)       → Ok(dict)   # 返回服务器结果
mg_find(conn, db, coll[, filter[, limit]]) → Ok([doc...])  # 自动 getMore 翻页
mg_count(conn, db, coll[, filter])   → Ok(int)
mg_bson_encode(doc) / mg_bson_decode(data)  → 内置 BSON 子集(自包含)
说明:
- 协议 = wire OP_MSG(2013):flags=0、kind=0x00 + BSON 命令文档;回复同构。
- self-contained(pxpkg 单 .px 分发):内部自带 BSON 编解码子集
(编码 int/double/string/bool/null/doc/array/bytes;解码加 binary/oid/datetime),
与 registry/bson 库内容等价但独立维护。
- 命令文档一律 `operationTime` 等字段透传;服务器 errmsg/ok!=1 → Err。
- 依赖 native:tcp_connect_ex / tcp_send_ex / tcp_recv_ex / tcp_close(M149 可辨错族)。
- 未实现认证/压缩;如需 auth 先连后发 {authenticate:1,...}(后续版本)。
============================================================
---- 内部:小端 BSON 子集 ----