Go实战--golang中使用MongoDB(mgo)

生命不止,继续 go go go !!!

昨天分享了golang如何操作redis数据库,那今天就介绍一下golang中如何使用mongodb数据库。

何为MongoDB?

简介
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
在高负载的情况下,添加更多的节点,可以保证服务器性能。
MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象

MongoDB (from humongous) is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. MongoDB is developed by MongoDB Inc. and is free and open-source, published under a combination of the GNU Affero General Public License and the Apache License.

特点
MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。

你可以在MongoDB记录中设置任何属性的索引 (如:FirstName=”Sameer”,Address=”8 Gandhi Road”)来实现更快的排序。

你可以通过本地或者网络创建数据镜像,这使得

  • 6
    点赞
  • 14
    收藏
  • 打赏
    打赏
  • 2
    评论
一、为什么会做这个封装 提供CURD,事务等基础功能封装,提高开发效率: golang提供了很多的类库下载,但是并不方便直接使用,或者重复使用的方法没有基于业务层的封装,调用极其繁琐反复,笔者在使用时深有感受;故封装了连接池,数据库常用功能(增删改查,事务执行,管道聚合操作),并提供具体的使用和详细的demo,代码块注释和readme.txt文件简要记录笔者从0-1的踩坑总结 二、这个目录涉及哪些主要包,提供哪些功能 基于Mgo,Mongo-go-driver这两个比较常用的MongoDB基础库,做了连接池初始化,model层服务封装,提供:初始化MongoDB连接池复用, MongoDB集合(类似MySQL的数据表)的增、删、改、查,事务、管道操作、聚合操作、mongoShell原生命令执行、多表关联查询 等功能;另外明确一下,此包是笔者为了提供开发效率,基于上述基础库的二次功能封装,可能存在不足,如有异议,欢迎交流 三、使用本工具代码块,可以帮助到你什么 使用须知: 1. 首先本代码块是基于企业业务的封装,具有普遍使用性,涵盖了绝大部分应用场景 2. 适合MongoDB初学者:降低学习成本,底层实现对使用者透明,操作简单,提升开发效率 3. 适合从RDB(关系型数据库)刚转用MongoDB使用者:此封装照顾了 MySQL等RDB使用者的用户习惯,返回的数据格式和ORM(关系映射数据格式)基本一致, 4. 照顾了 PHP 转 Golang使用者,笔者以前也做过PHP,故使用过PHP的YII2,Laravel,ThinkPHP的开发者也能很清晰的看懂封装逻辑 5. 适合还未参加工作的同学,这些代码来自企业的基础功能包,是真实的工作代码 6. 本文件目录为功能代码块,可参考笔者的一篇MongoDB相关的博客使用,包含作者踩过的一些坑,可帮助初学使用者加深理解,内容涉及MongoDB相关(安装,常识,Mysql和MongoDB的基本对比,原生mongo shell命令...) 四、下载后,请先阅读readme.txt,如有异议,欢迎交流

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:Age of Ai 设计师:meimeiellie 返回首页
评论 2

打赏作者

一苇渡江694

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值