尧图精选

用 ILLA Cloud 与 FerretDB 快速构建内部应用:从 MongoDB 资源接入到可视化看板实战

🕒 发布时间:2026/9/23 20:57:06 📁 来源:尧图网络
后端数据库文档数据库【免费下载链接】FerretDBA truly Open Source MongoDB alternative项目地址https://gitcode.com/gh_mirrors/fe/FerretDB点击查看免费下载本文是一份面向低代码/内部工具开发者的实战指南以 FerretDB开源 MongoDB 兼容文档数据库作为数据后端通过 ILLA Cloud 的 ILLA Builder 以拖拽组件 数据操作Action的方式在几分钟内搭建出管理后台、仪表盘等内部应用。读完本文你将掌握 ILLA 中 MongoDB 类型资源与 FerretDB 的连接方式、find/aggregate/count等 MongoDB 命令在 ILLA Action 中的用法以及如何用输入组件实现带参数的动态查询。为什么是 ILLA Cloud FerretDB 的组合FerretDB 是一个开源的 MongoDB 替代品它作为代理把 MongoDB 5.0 的线协议wire protocol查询转换为 SQL并以 PostgreSQL配合 DocumentDB 扩展作为存储引擎README.md 中对这一架构有完整描述。也就是说你可以继续使用熟悉的 MongoDB 命令和生态工具而底层数据落在开源关系型数据库中。ILLA Cloud 则是一个低代码内部工具平台通过资源Resource管理数据源连接通过Action定义对数据源执行的 CRUD 或聚合操作再通过页面组件把数据可视化。两者结合的价值在于业务侧不需要任何 MongoDB 服务器只靠一条连接 URI 就能把 ILLA 的界面能力与 FerretDB 的文档数据能力打通——使用同样的 MongoDB 命令去查询数据、创建看板、管理后台或内部工具。前置条件开始之前你需要准备两样东西FerretDB 连接 URI形如mongodb://username:password127.0.0.1:27017/?authMechanismPLAIN。URI 由用户名、密码、地址与认证机制组成FerretDB 的快速启动方式例如 README.md 中提供的 Docker 一条命令启动可参考仓库内 website/docs/installation 目录下的安装文档。ILLA Cloud 账号用于登录 ILLA Builder 创建资源与页面。说明示例 URI 中的authMechanismPLAIN表明使用明文用户名/密码认证。FerretDB 的监听地址默认是127.0.0.1:27017可通过 cmd/ferretdb/main.go 中的--listen-addr等参数调整。在 ILLA Builder 中创建 FerretDB 资源ILLA 的资源是一个保存下来的数据源连接配置。创建资源后数据源就对 ILLA 暴露你可以在其上运行查询。ILLA 提供多种资源类型连接包括 PostgreSQL、Supabase、MongoDB 等。由于 FerretDB 是 MongoDB 的兼容替代品绝大多数熟悉的 MongoDB 工具和应用都能直接工作。因此在 ILLA Builder 中为 FerretDB 创建资源时选择 MongoDB 资源类型即可。打开连接窗口后设置资源的名称以及连接字符串 URI保存后资源即创建完成在资源视图中可以看到该 FerretDB 数据源已就绪可供后续 Action 使用。在 ILLA 中创建 ActionsAction 是 ILLA 中对资源执行的操作比如 CRUD 或聚合操作同时它也是数据操作与页面组件的桥梁。在 ILLA Builder 中创建 Action 时可以选择Action type命令类型、Collection集合以及Transformer数据转换。其中 Action type 代表具体的 MongoDB 命令例如bulkwrite、find、findOne、aggregate、deleteMany、deleteOne、listCollections、count。这些命令正是 FerretDB 所实现的 MongoDB 命令子集。从源码看FerretDB 在 internal/handler/commands.go 中集中注册了find、count、aggregate、insert、delete、listCollections等命令及其帮助文本ILLA 侧可用的 Action type 与之一一对应。1. 使用find查询全部数据首先为 FerretDB 实例中的supply集合创建一个查询全部数据的 Action保存并运行该 Action可以看到查询成功返回结果随后在页面中添加一个 Table 组件并将其数据源绑定到该 Action 的返回结果{{query_all_data.data[0].result}}。提示在 FerretDB 内部find命令由 internal/handler/msg_find.go 中的msgFind处理器实现它先从请求中解析出数据库名$db再调用后端执行查询并返回分页结果与游标 ID最后把游标登记到会话中供后续getMore分页拉取使用。这与 MongoDB 原生语义保持一致因此 ILLA 这类客户端无需任何适配。2. 运行聚合操作下面是一个聚合操作示例统计每个地点的交易总数total transactions per location。在 ILLA 中可以把它表达为以下 JSON 管道[ { $group: { _id: $customer_location, totalTransactions: { $sum: 1 } } }, { $sort: { totalTransactions: -1 } } ]该管道先按customer_location字段分组并累加计数再按交易总数降序排序。提示FerretDB 对aggregate命令的支持同样体现在 internal/handler/msg_aggregate.go 的msgAggregate处理器中聚合管道会被解析并交由后端执行结果同样以游标方式返回。关于 FerretDB 聚合管道的更多细节可参考仓库文档 website/docs/usage/aggregations.md。3. 统计全部文档数添加一个 Table 组件用于展示集合中的总交易数然后使用count命令获取总数。运行后可以用{{count.data}}把结果展示在表格中。提示count命令在 FerretDB 中由 internal/handler/msg_count.go 的msgCount处理器实现它解析$db后调用CountQuery执行计数并返回结果。与find、aggregate不同count是直接返回数值结果的命令无需游标。完成以上 3 个 Action 后它们的组合视图大致如下4. 使用输入组件进行动态查询ILLA Cloud 支持在页面中添加文本输入组件并用输入值实时查询 FerretDB 实例。操作步骤如下添加一个 Input 输入框和一个 Button 按钮组件新建一个 Action使用find命令按输入值查询集合查询条件写成{product_category: {{prod_cat.value}}}——这里的{{prod_cat.value}}是 ILLA 的模板语法会动态替换为输入组件prod_cat的当前值为按钮组件添加点击事件处理器并把该 Action 绑定到点击事件上最后在页面中添加一个 Table并把数据源设置为该 Action 的结果。完成后即可在预览中看到完整的 UI输入产品分类、点击按钮、表格展示该分类下的查询结果。深入FerretDB 如何支撑这些 MongoDB 命令以上演示中ILLA 只是充当了 MongoDB 客户端真正执行命令的是 FerretDB。理解底层实现有助于你排查问题、评估能力边界命令注册机制FerretDB 在 internal/handler/commands.go 中通过initCommands注册全部命令每个命令对应一个处理器函数。find、count、aggregate等都注册在案ILLA Action 中选择的命令类型因此可以直接命中。会话与游标find与aggregate的处理器都会调用CreateOrUpdateByLSID维护逻辑会话并把返回的游标 ID 通过AddCursor登记到会话中这与 MongoDB 的分页机制一致参见 internal/handler/msg_find.go。认证与监听FerretDB 默认开启认证--auth默认true监听127.0.0.1:27017支持 TLS、Unix socket、HTTP Data API 与 MCP 等接口参见 cmd/ferretdb/main.go。这意味着连接 URI 中的认证参数如authMechanismPLAIN会被正确解析ILLA 可以安全直连。开始用 ILLA Cloud 处理 FerretDB 数据任何在 ILLA Cloud 上构建应用的人都可以直接用 FerretDB 作为内部应用与管理后台的数据后端。借助 ILLA 开箱即用的组件、拖拽式搭建能力和数据库集成几分钟内即可完成一个可用的内部应用。FerretDB 的开源属性之外它还拥有持续增长的社区与维护团队可以帮助解决 Bug、功能请求与使用疑问。关于 FerretDB 的设计理念与整体理解可阅读仓库文档 website/docs/introduction.md关于查询与读取数据的能力可参考 website/docs/usage/read.md。若你还需要对 FerretDB 上的数据进行监控与可视化仓库中还提供了相关博客与文档资源可供继续深入探索。赞分享后端数据库文档数据库【免费下载链接】FerretDBA truly Open Source MongoDB alternative项目地址https://gitcode.com/gh_mirrors/fe/FerretDB点击查看免费下载相关推荐使用 Grafana 构建 LLM 应用实时监控看板从 PostgreSQL 到可视化面板使用 Grafana 构建 LLM 应用实时监控看板从 PostgreSQL 到可视化面板 实时监控是任何 RAG 应用上线后的刚需离线评估无法告诉你真实用示例工程教程人工智能大模型使用 MongoDB Compass 可视化探索 FerretDB 数据连接配置与实战指南使用 MongoDB Compass 可视化探索 FerretDB 数据连接配置与实战指南 FerretDB 是一款以 PostgreSQL 为后端的开源 M后端数据库文档数据库Seelen-UI Dock 插件Weg Plugin开发指南渲染、Scopes 与沙箱执行机制详解Seelen UI Dock 插件Weg Plugin开发指南渲染、Scopes 与沙箱执行机制详解 本文聚焦 Seelen UI 中面向 dock/任务后端数据库文档数据库创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →