MongoDB中间件工具mgm入门介绍(一)

本文涉及的产品
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: MongoDB 数据库确实好用,但是也要依托一定的生态环境,其中就包括我们在开发过程中经常会用到的工具集。在连接 MongoDB 时,我们不可能自己单独去开发基础的功能接口,比如添加记录、删除记录、更新记录等。我们可以使用非常好用的第三方中间件来完成这样的工作,避免重复造轮子,毕竟自己造的轮子还不一定好使。今天我们就来介绍一个非常优秀的 MongoDB 数据库中间件 —— mgm 。

前言

众所周知,MongoDB 是一个通用、基于文档的分布式数据库,在云原生生态下具有非常强大的适应性,帮助现代应用程序开发人员迎接云时代的到来。就数据库而言,效率是一个永不过时的话题,这一点也是 MongoDB 非常出色的地方。

正文

背景

MongoDB 数据库确实好用,但是也要依托一定的生态环境,其中就包括我们在开发过程中经常会用到的工具集。在连接 MongoDB 时,我们不可能自己单独去开发基础的功能接口,比如添加记录、删除记录、更新记录等。我们可以使用非常好用的第三方中间件来完成这样的工作,避免重复造轮子,毕竟自己造的轮子还不一定好使。今天我们就来介绍一个非常优秀的 MongoDB 数据库中间件 —— mgm 。

mgm介绍

mgm 的全称是 Mongo Go Models,是一款基于官方 Mongo Golang 驱动程序开发的快速简单的 MongoDB 中间件。使用 mgm 可以快速集成 MongoDB 的 CRUD 接口,大大减少了开发的工作量。

mgm基础特性

  1. 可以在进行增删改查的时候,设置不同类型的回调通知方法,包括操作前和操作后。
  2. 让使用 Golang 语言查询和添加数据库的时候更加简单。
  3. 只需设置一次配置,就可以在任何需要的地方获取集合。
  4. 可以预定义所有 Mongo 的值和键,不需要自己硬编码它们。
  5. 集成了官方的 Mongo Golang 驱动程序。

软件要求

  1. Golang 1.10 及以上版本。
  2. MongoDB 2.6 及以上版本。

安装方式

安装 mgm 也非常简单,可以使用如下命令:

go get github.com/kamva/mgm/v3

但是,需要注意点是,从 mgm 的3.1.0版本开始,仓库命名发生了变化,由原来的github.com/Kamva/mgm/v3 变成了github.com/kamva/mgm/v3,其实,就是大小写的变化。

代码实例

接下来,通过一段代码来了解一下 mgm 工具的具体使用方式,实例代码如下:

import (
"github.com/kamva/mgm/v3""go.mongodb.org/mongo-driver/mongo/options")
funcinit() {
// 设置 mgm 的默认配置err :=mgm.SetDefaultConfig(nil, "mgm_lab", options.Client().ApplyURI("mongodb://root:12345@localhost:27017"))
}

上述代码就完成了 mgm 相关的初始化工作,之后就可以使用 mgm 的 API 接口了。

结尾

好啦,今天关于 MongoDB 数据库的中间件 mgm 就介绍这么多,下一篇文章将介绍 mgm 的增删改查操作。大家好,我是 liuzhen007,欢迎关注,分享更多服务器相关的知识内容。



作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,😄公众号:玩转音视频。同时也是 CSDN 博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!😄

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
1月前
|
数据采集 监控 物联网
一些常用的 Salesforce IoT Cloud 中间件工具
以下是一些常用的Salesforce IoT Cloud中间件工具
|
3月前
|
NoSQL MongoDB
MongoDB入门-sort和投影
这篇文章介绍了MongoDB中的排序(sort)和投影(projection)操作,通过示例代码展示了如何使用这些功能来控制查询结果的排序顺序和返回的字段。
39 3
MongoDB入门-sort和投影
|
3月前
|
NoSQL MongoDB
MongoDB入门-MongoDB的CURD语句练习
这篇文章提供了MongoDB的CURD操作的练习,涵盖了插入、查询、更新和删除数据的基本命令,并通过具体示例展示了如何在MongoDB中执行这些操作。
50 2
|
2月前
|
存储 NoSQL MongoDB
MongoDB入门级别教程全(Windows版,保姆级教程)
一份全面的MongoDB入门级教程,包括在Windows系统上安装MongoDB、使用MongoDB Shell和Compass GUI进行数据库操作,以及MongoDB的基本数据类型和查询技巧。
103 2
MongoDB入门级别教程全(Windows版,保姆级教程)
|
4月前
|
NoSQL BI 数据处理
【超实用攻略】MongoDB 聚合框架:从入门到精通,带你解锁数据处理新姿势!
【8月更文挑战第24天】MongoDB是一款以其灵活性和高性能闻名的NoSQL数据库。其强大的聚合框架采用管道式处理,允许用户定义多个数据处理阶段如过滤、分组等。本文通过示例数据库`orders`和`products`,演示如何利用聚合框架计算各产品的总销售额。示例代码展示了使用`$lookup`连接两集合、`$unwind`打平数组及`$group`按产品ID分组并计算总销售额的过程。这突显了聚合框架处理复杂查询的强大能力,是进行数据分析和报表生成的理想选择。
59 3
|
4月前
|
持续交付 jenkins C#
“WPF与DevOps深度融合:从Jenkins配置到自动化部署全流程解析,助你实现持续集成与持续交付的无缝衔接”
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)项目中应用DevOps实践,实现自动化部署与持续集成。通过具体代码示例和步骤指导,介绍选择Jenkins作为CI/CD工具,结合Git进行源码管理,配置构建任务、触发器、环境、构建步骤、测试及部署等环节,显著提升开发效率和代码质量。
98 0
|
4月前
|
前端开发 中间件 索引
Django入门到放弃之中间件
Django入门到放弃之中间件
|
4月前
|
存储 中间件 PHP
Python编程入门:从零到一的代码实践深入理解 PHP 中的中间件模式
【8月更文挑战第28天】本文旨在通过浅显易懂的方式,向初学者介绍Python编程的基础知识,并结合具体代码示例,带领读者一步步实现从零基础到能够独立编写简单程序的转变。文章将围绕Python语言的核心概念进行讲解,并通过实例展示如何应用这些概念解决实际问题。无论你是编程新手还是希望扩展技能的专业人士,这篇文章都将为你打开编程世界的大门。 【8月更文挑战第28天】在PHP的世界中,设计模式是构建可维护和可扩展软件的重要工具。本文将通过浅显易懂的语言和生动的比喻,带领读者深入理解中间件模式如何在PHP应用中发挥魔力,实现请求处理的高效管理。我们将一步步揭开中间件的神秘面纱,从它的定义、工作原理到
|
6月前
|
NoSQL Linux MongoDB
MongoDB提供的这些工具
【6月更文挑战第8天】MongoDB提供的这些工具
133 6
|
6月前
|
NoSQL 数据可视化 关系型数据库
MongoDB提供的这些工具
【6月更文挑战第8天】MongoDB提供的这些工具
62 3