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

举报
liuzhen007 发表于 2021/08/22 22:38:23 2021/08/22
【摘要】 目录 前言 正文 步骤一、导入mgm步骤二、创建数据库模型步骤三、增删改查操作 结尾 往期推荐博文:MongoDB中间件工具mgm入门介绍(一) 前言 众所周知,MongoDB ...

目录

  • 前言

  • 正文

    • 步骤一、导入mgm
    • 步骤二、创建数据库模型
    • 步骤三、增删改查操作
  • 结尾


往期推荐博文:MongoDB中间件工具mgm入门介绍(一)

前言

众所周知,MongoDB 是一个通用、基于文档的分布式数据库,非常适合云原生服务的应用场景。上一篇文章已经简单介绍了 MongoDB 数据库的中间件工具 mgm,今天就来聊一聊 mgm 的接口使用方法。

正文

步骤一、导入mgm

导入 mgm 工具包,设置默认配置项,代码参考如下:

import (
   "github.com/kamva/mgm/v3"
   "go.mongodb.org/mongo-driver/mongo/options"
)

func init() {
   err := mgm.SetDefaultConfig(nil, "mgm_test", options.Client().ApplyURI("mongodb://root:12345@localhost:27017"))
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

步骤二、创建数据库模型

创建一个人的数据库模型,包括名字name、年龄age,这个过程也非常简单,只需要简单的声明,就能够被数据库识别。代码参考如下:

type Person struct {
   // DefaultModel adds _id, created_at and updated_at fields to the Model
   mgm.DefaultModel `bson:",inline"`
   Name             string `json:"name" bson:"name"`
   Age              int    `json:"age" bson:"age"`
}

func NewPerson(name string, age int) *Person {
   return &Person{
      Name:  name,
      Age: age,
   }
}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

步骤三、增删改查操作

增加记录

我们插入一条数据库记录,用户名字是 liuzhen007,年龄是 30,代码参考如下:

// 创建一条记录
person := NewPerson("liuzhen007", 30)
// 写入数据库
err := mgm.Coll(person).Create(person)
if err != nil {
    fmt.Println("数据库插入失败", err)
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

查找记录

我们查找名字为 liuzhen007 的用户记录,代码参考如下:

// 获取数据库集合
person := &Person{}
coll := mgm.Coll(person)

// 查找名字为 liuzhen007 的记录
_ = coll.First(bson.M{"name": "liuzhen007"}, person)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

除此之外,还有两种查询方式,比如根据具体的ID进行查询,代码参考如下:

_ = coll.FindByID("5e0518aaliuzhen0079410ee3", person)

  
 
  • 1

还有可以直接查询数据库中的第一条记录,代码参考如下:

_ = coll.First(bson.M{}, person)

  
 
  • 1

更新记录

我们把数据库中名字为 liuzhen007 的用户的年龄改为 31,但是,这个更新过程首先要查找到对应的数据库记录,这样就用到了我们上面讲到的查询记录接口。代码参考如下:

// 先找到对应的记录
_ = coll.First(bson.M{"name": "liuzhen007"}, person)

// 然后更新年龄
person.Age = 31
err := mgm.Coll(person).Update(person)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

删除记录

现在,我们来删除一条数据库记录,同样在删除前,我们首先要找到这条记录,这是一个非常符合实际开发流程的操作,如果数据库中没有对应的记录,在进行删除和更新操作时,可能会导致很多意想不到的问题,代码代码如下:

// 先找到对应的记录
_ = coll.First(bson.M{"name": "liuzhen007"}, person)
// 然后删除记录
err := mgm.Coll(person).Delete(person)


  
 
  • 1
  • 2
  • 3
  • 4
  • 5

结尾

好了,今天关于 mgm 处理 MongoDB 数据库增删改查操作的方法就介绍完了,当然 mgm 还有很多更加高级的玩法,我们下期再进行介绍。大家好,我是 liuzhen007(Data-Mining),欢迎关注,分享更多服务器和数据库的内容知识。

文章来源: liuzhen.blog.csdn.net,作者:Data-Mining,版权归原作者所有,如需转载,请联系作者。

原文链接:liuzhen.blog.csdn.net/article/details/119845821

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。