普贤教程 › 包参考
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_encode | doc |
mg_bson_decode | data |
mg_connect | host, port, timeout_ms |
mg_close | conn |
mg_hello | conn |
mg_ping | conn |
mg_insert | conn, db, coll, doc |
mg_find | conn, db, coll, filter, limit |
mg_count | conn, db, coll, filter |
其余 21 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
o_mg_le32 | v |
o_mg_le64 | v |
o_mg_r32 | b, off |
o_mg_r64 | b, off |
o_mg_u8 | b, off |
o_mg_cstr | b, off |
o_mg_enc_doc | d |
o_mg_enc_elem | name, v |
o_mg_build | items, is_arr |
o_mg_dec_doc | b, off, is_arr |
o_mg_dec_val | b, off, ty |
o_recv_exact | fd, n |
o_cmd | conn, cmd |
mg_update_one | conn, db, coll, filter, update |
mg_update_many | conn, db, coll, filter, update |
mg_delete_one | conn, db, coll, filter |
mg_delete_many | conn, db, coll, filter |
mg_distinct | conn, db, coll, field, filter |
mg_drop | conn, db, coll |
mg_create_index | conn, db, coll, keys, name |
mg_aggregate | conn, 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 子集 ----