iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >如何在mongodb中使用golang驱动
  • 740
分享到

如何在mongodb中使用golang驱动

2024-04-02 19:04:59 740人浏览 独家记忆
摘要

如何在mongoDB中使用golang驱动?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用教程如下:导入Go get G

如何在mongoDB中使用golang驱动?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

使用教程如下:

导入

Go get GitHub.com/mongodb/mongo-go-driver/mongo

链接mongo服务

if client, err = mongo.Connect(getContext(), url); err != nil {
  checkErr(err)
 }

判断服务是否可用

if err = client.Ping(getContext(), readpref.Primary()); err != nil {
  checkErr(err)
 }

选择数据库集合

collection = client.Database("testing_base").Collection("howie")

删除这个集合

collection.Drop(getContext())

插入一条数据

if insertOneRes, err = collection.InsertOne(getContext(), howieArray[0]); err != nil {
  checkErr(err)
 }
 fmt.Printf("InsertOne插入的消息ID:%v\n", insertOneRes.InsertedID)

批量插入数据

if insertManyRes, err = collection.InsertMany(getContext(), howieArray); err != nil {
  checkErr(err)
 }
 fmt.Printf("InsertMany插入的消息ID:%v\n", insertManyRes.InsertedIDs)

查询单条数据

if err = collection.FindOne(getContext(), bson.D{{"name", "howie_2"}, {"age", 11}}).Decode(&howie); err != nil {
  checkErr(err)
 }
 fmt.Printf("FindOne查询到的数据:%v\n", howie)

查询单条数据后删除该数据

if err = collection.FindOneAndDelete(getContext(), bson.D{{"name", "howie_3"}}).Decode(&howie); err != nil {
  checkErr(err)
 }
 fmt.Printf("FindOneAndDelete查询到的数据:%v\n", howie)

询单条数据后修改该数据

if err = collection.FindOneAndUpdate(getContext(), bson.D{{"name", "howie_4"}}, bson.M{"$set": bson.M{"name": "这条数据我需要修改了"}}).Decode(&howie); err != nil {
  checkErr(err)
 }
 fmt.Printf("FindOneAndUpdate查询到的数据:%v\n", howie)

查询单条数据后替换该数据(以前的数据全部清空)

if err = collection.FindOneAndReplace(getContext(), bson.D{{"name", "howie_5"}}, bson.M{"hero": "这条数据我替换了"}).Decode(&howie); err != nil {
  checkErr(err)
 }
 fmt.Printf("FindOneAndReplace查询到的数据:%v\n", howie)

一次查询多条数据(查询createtime>=3,限制取2条,createtime从大到小排序的数据)

if cursor, err = collection.Find(getContext(), bson.M{"createtime": bson.M{"$gte": 2}}, options.Find().SetLimit(2), options.Find().SetSort(bson.M{"createtime": -1})); err != nil {
  checkErr(err)
 }
 if err = cursor.Err(); err != nil {
  checkErr(err)
 }
 defer cursor.Close(context.Background())
 for cursor.Next(context.Background()) {
  if err = cursor.Decode(&howie); err != nil {
   checkErr(err)
  }
  howieArrayEmpty = append(howieArrayEmpty, howie)
 }
 fmt.Printf("Find查询到的数据:%v\n", howieArrayEmpty)

查询集合里面有多少数据

if size, err = collection.Count(getContext(), nil); err != nil {
  checkErr(err)
 }
 fmt.Printf("Count里面有多少条数据:%d\n", size)

查询集合里面有多少数据(查询createtime>=3的数据)

if size, err = collection.Count(getContext(), bson.M{"createtime": bson.M{"$gte": 3}}); err != nil {
  checkErr(err)
 }
 fmt.Printf("Count里面有多少条数据:%d\n", size)

修改一条数据

if updateRes, err = collection.UpdateOne(getContext(), bson.M{"name": "howie_2"}, bson.M{"$set": bson.M{"name": "我要改了他的名字"}}); err != nil {
  checkErr(err)
 }
 fmt.Printf("UpdateOne的数据:%d\n", updateRes)

修改多条数据

if updateRes, err = collection.UpdateMany(getContext(), bson.M{"createtime": bson.M{"$gte": 3}}, bson.M{"$set": bson.M{"name": "我要批量改了他的名字"}}); err != nil {
  checkErr(err)
 }
 fmt.Printf("UpdateMany的数据:%d\n", updateRes)

删除一条数据

if delRes, err = collection.DeleteOne(getContext(), bson.M{"name": "howie_1"}); err != nil {
  checkErr(err)
 }
 fmt.Printf("DeleteOne删除了多少条数据:%d\n", delRes.DeletedCount)

删除多条数据

if delRes, err = collection.DeleteMany(getContext(), bson.M{"createtime": bson.M{"$gte": 7}}); err != nil {
  checkErr(err)
 }
 fmt.Printf("DeleteMany删除了多少条数据:%d\n", delRes.DeletedCount)

看完上述内容,你们掌握如何在mongodb中使用golang驱动的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网GO频道,感谢各位的阅读!

您可能感兴趣的文档:

--结束END--

本文标题: 如何在mongodb中使用golang驱动

本文链接: https://www.lsjlt.com/news/55411.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在mongodb中使用golang驱动
    如何在mongodb中使用golang驱动?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。使用教程如下:导入go get g...
    99+
    2024-04-02
  • PHP如何驱动MongoDB
    这篇文章主要介绍“PHP如何驱动MongoDB”,在日常操作中,相信很多人在PHP如何驱动MongoDB问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP如何驱动MongoDB”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-27
  • mongodb如何使用c#驱动数据插入demo
    这篇文章主要介绍mongodb如何使用c#驱动数据插入demo,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Mongodb提供了多种开发语言的驱动,java,python,c++,c...
    99+
    2024-04-02
  • 如何在mongodb中使用driver
    如何在mongodb中使用driver?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。MongoDB 是一个基于分布式文件存储的数据库。由 ...
    99+
    2024-04-02
  • MongoDB:在 Java 中使用 MongoDB
    除了通过启动 mongo 进程进如 Shell 环境访问数据库外,MongoDB 还提供了其他基于编程语言的访问数据库方法。MongoDB 官方提供了 Java 语言的驱动包,利用这些驱动包可使用...
    99+
    2023-09-14
    mongodb java 数据库
  • 更新 MongoDB 和 Golang 驱动程序中的时间戳字段
    学习Golang要努力,但是不要急!今天的这篇文章《更新 MongoDB 和 Golang 驱动程序中的时间戳字段》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文...
    99+
    2024-04-04
  • 如何在golang 中使用Logrus
    如何在golang 中使用Logrus?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。golang Logrus简易使用教程使用Logrus的最简单方法:package&nb...
    99+
    2023-06-15
  • windows冰豹驱动如何使用
    这篇文章主要介绍了windows冰豹驱动如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇windows冰豹驱动如何使用文章都会有所收获,下面我们一起来看看吧。 冰豹驱动...
    99+
    2023-02-07
    windows
  • 如何使用atlas在go中连接mongodb?
    php小编苹果将为你介绍如何在Go语言中使用Atlas连接MongoDB。Atlas是MongoDB官方的云托管服务,提供了可靠的分布式数据库解决方案。通过Atlas,你可以轻松地在G...
    99+
    2024-02-09
    go语言
  • golang匿名函数和闭包在测试驱动开发中的使用
    在 go 中的 tdd 中,匿名函数和闭包用于:匿名函数:无需命名,定义一次性函数或参数函数。闭包:引用外部状态,创建动态生成函数。 Go 中的匿名函数和闭包在测试驱动开发中的使用 在...
    99+
    2024-05-04
    golang 测试驱动开发 作用域
  • 如何在golang中使用cobra库
    如何在golang中使用cobra库?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。cobra  是 go 语言的一个库,可以用于编写命令行工具。通常我...
    99+
    2023-06-15
  • 如何使用 bson 在 GoLang 中编写正则表达式的 mongodb 查询?
    知识点掌握了,还需要不断练习才能熟练运用。下面编程网给大家带来一个Golang开发实战,手把手教大家学习《如何使用 bson 在 GoLang 中编写正则表达式的 mongodb 查询?》,在实现功...
    99+
    2024-04-05
  • Docker API如何在Golang中使用
    Docker API如何在Golang中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。安装 SDK通过下面的命令就可以安装 SDK 了:go get g...
    99+
    2023-06-14
  • 如何在Golang中使用模板
    Golang使用模板的步骤:1、用go get命令安装模板引擎;2、创建一个包含占位符的文本文件;3、使用Parse()方法解析模板;4、使用Execute()方法渲染模板;5、模板变量的解析;6、如果模板需要包含子模板,可以进行模板嵌套;...
    99+
    2023-12-12
    Golang
  • 如何在Golang中使用协程
    这篇文章将为大家详细讲解有关如何在Golang中使用协程,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。什么是golanggolang 是Google开发的一种静态强类型、编译型、并发型,并具...
    99+
    2023-06-14
  • 如何在 Golang 中使用事务?
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-14
  • 如何在64位win7中使用未有签名的驱动程序
      计算机硬件越来越白菜价,更多的人为了使用更高的配置,都用上了4G或者8G的内存,可惜32位的系统是无法支持4G以上内存的,大多数的朋友都换上了又炫又新鲜的64位win7系统,而由于64位的win7考虑了系统安全的问题...
    99+
    2023-06-01
    64位 WIN7 驱动程序签名 win7 驱动程序
  • 电脑驱动精灵如何使用
    这篇文章主要讲解了“电脑驱动精灵如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“电脑驱动精灵如何使用”吧!电脑驱动精灵使用方法:首先我们打开“驱动精灵”如果想要检查驱动程序,直接点击首...
    99+
    2023-07-02
  • 如何在mongodb中使用mongostat监控工具
    如何在mongodb中使用mongostat监控工具?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mongostat是mongodb自带的状态...
    99+
    2024-04-02
  • mongodb如何正确的在Spring boot中使用
    这篇文章给大家介绍mongodb如何正确的在Spring boot中使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。MongoDB是最早热门非关系数据库的之一,使用也比较普遍,一般会用做离线数据分析来使用,放到内网的...
    99+
    2023-05-31
    springboot mongodb
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作