go语言连接mongodb数据库

2023-05-16

使用mongodb数据库之前需要先下载安装mongodb服务器端程序,这里不再赘述。go语言下使用mongodb步骤如下:

1、下载mongodb连接驱动mgo

命令行下输入:go get gopkg.in/mgo.v2

下载的mongodb go语言驱动包会直接存储在GOPATH目录下。

2、引入mongodb包

import (

    "gopkg.in/mgo.v2"

    "gopkg.in/mgo.v2/bson"

)

3、完整代码

package main

import (

    "gopkg.in/mgo.v2"

    "gopkg.in/mgo.v2/bson"

     "fmt"

)

//定义student结构,变量大写

type student struct{

    Name string

    Age int

}

 

func main() {

   

    //连接本地mongodb服务

    url:="mongodb://localhost"

    session,err:=mgo.Dial(url)

   

    if err!=nil{

        panic(err)

    }

   

    defer session.Close()

   

    //打开默认数据库test

    session.SetMode(mgo.Monotonic,true)

    c:=session.DB("test").C("student")

  

    //插入student

    c.Insert(&student{"zhangsan",18},

        &student{"lisi",19})

   

    //查找,查找条件"name"小写

    stu:=student{}

    err=c.Find(bson.M{"name": "zhangsan"}).One(&stu)

   

    //输出

    fmt.Println(stu)

   

    //查找全部

    students := make([]student, 20)

    err = c.Find(nil).All(&students)  

    //输出

    fmt.Println(students)

}

 

输出:

{zhangsan 18}
[{zhangsan 18} {lisi 19}]

说明操作成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go语言连接mongodb数据库 的相关文章

  • Mongodb upsert 嵌入文档

    我每天每米有一份文件 如果它不存在 如何在数据数组中添加另一个子文档并创建整个文档 key 20120418 123456789 data Meter 123456789 Dt ISODate 2011 12 29T16 00 00 0Z
  • 为什么使用 MongoDB 的 $push 向数组添加新对象时会添加带有 ObjectID 的 _id ?

    我正在使用 Node js 和 Mongoose 玩家和锦标赛变量是之前获取的 Mongoose 对象 我想将一个新的tournamentSession对象 不是Mongoose对象 添加到玩家对象的tournamentSessions字段
  • Mongoose嵌入式文档更新

    我在嵌入式文档更新方面遇到问题 我定义的架构 var Talk new Schema title type String required true content type String required true date type D
  • 如何在Mongodb java驱动程序中编写多个group by id字段

    在下面的查询中 group id success success responseCode responseCode label label max timeStamp timeStamp 1 count responseCode sum
  • MongoDB $geoIntersects 不适用于包含负顶点的多边形

    我已在数据库中存储了跨越 x 轴和 y 轴的多边形 并且我想搜索包含给定点的多边形 为此 我使用 geoIntersects 运算符来指定一个点 但是 当多边形穿过轴时 MongoDB 不会返回任何多边形 我可以对查询或架构进行任何小的更改
  • 带有卷的 docker 中的 Mongo db 持久化

    我正在尝试创建一个 mongo 数据库容器 但无法使数据持久化 这是我的 docker compose yml version 3 2 services mongodb image mongo 2 4 command smallfiles
  • Java MongoDB 获取子文档的值

    我试图从子文档中获取键的值 但我似乎无法弄清楚如何使用 BasicDBObject get 函数 因为键嵌入了两层深度 这是文档的结构 File name file 1 report name report 1 group RnD 基本上一
  • MongoDB,从数组中删除对象

    Doc id 5150a1199fac0e6910000002 name some name items id 23 name item name 23 id 24 name item name 24 有没有办法从数组中提取特定对象 IE
  • Mongodb 聚合数组中的子文档

    我正在使用 mongodb 作为后端实现一个小型应用程序 在此应用程序中 我有一个数据结构 其中文档将包含一个包含子文档数组的字段 我使用以下用例作为基础 http docs mongodb org manual use cases inv
  • 为 Meteor 数据创建编号列表

    有没有办法获取 Meteor 集合中项目的编号列表的 编号 我知道我可以在 html 中做到这一点 但我觉得如果我可以在 spacebars 中放置一些东西 那么样式会更容易 如果我可以使用更好的术语 请告诉我 像这样的东西 前 20 部电
  • Pymongo 批量插入

    我正在尝试批量插入文档 但批量插入时不会插入超过 84 个文档 给我这个错误 in insert pymongo errors InvalidOperation cannot do an empty bulk insert 是否可以批量插入
  • 获取对象数组中每个嵌套对象的虚拟属性?

    所以我知道如何获取单个虚拟属性 如 Mongoose 文档中所述 PersonSchema virtual name full get function return this name first this name last 但如果我的
  • Mongoose 独特的验证不起作用。保存重复条目

    我正在开发一个 NodeJS 应用程序 其中express是框架 MongoDB是数据库 我正在使用猫鼬插件 我有一个父母模型 我已经添加了独特 真实到场 mobile 但是每当我添加相同的手机号码时 唯一性验证就会失败 除了保存重复的文档
  • 如何处理 MongoDB 的断开连接错误

    我在 Node js 进程中看到了这个未捕获的异常 Uncaught exception Error read ETIMEDOUT at TCP onStreamRead internal stream base commons js 16
  • Mongodb MapReduce 选择最新日期

    我似乎无法让我的 MapReduce 缩减功能正常工作 这是我的地图功能 function Map day Date UTC this TimeStamp getFullYear this TimeStamp getMonth this T
  • findAndModify - MongoError:异常:必须指定删除或更新

    我想更新一个数组并返回文档 我的 findAndModify 语法正确吗 this becomeFollower function title username callback use strict posts findAndModify
  • 如何在 Spring-data 中更改/定义 Mongodb 的默认数据库?

    我有从 MongoRepository 扩展的接口 他们使用默认数据库 mongodb 我想定义类的数据库名称 public interface CustomerRepository extends MongoRepository
  • 是否有一个好的开源 MongoDB 队列 C# 驱动程序实现

    并不是说编写一个程序不够容易 或有趣 可以说 不重新发明轮子是有道理的 我已经浏览了各种尝试 但我似乎还没有遇到支持这些标准的实现 具有MongoDB持久化的简单队列OSS系统 基于 C 驱动程序 官方 如此完整的 POCO 序列化 可尾游
  • mongodb从不同数据库中选择

    我有大约 200 个 mongodb 数据库 每个数据库都有一个名为 Group 的集合 在该集合中有一个名为 meldingId 的字段 是否可以进行一个 mongodb 查询来查找不同数据库中的所有值 我设法通过 selectDB da
  • MongoRepository动态查询

    我有以下问题 假设我有以下模型对象 class Person String id String firstName String lastName Map

随机推荐

  • 互补滤波器

    互补滤波器 从 RC 电路 到 数字滤波器 参考 xff1a wikiPedia by luoshi006 原理 低通滤波器 一阶低通滤波器 传递函数 常见的 RC 电路构成的一阶低通滤波器的输入 U 输出 Y 关系如下 xff1a Y U
  • mahony 互补滤波器

    by luoshi006 上接 互补滤波器 xff0c 继续学习互补滤波 参考 xff1a Keeping a Good Attitude A Quaternion Based Orientation Filter for IMUs and
  • PX4 - position_estimator_inav

    by luoshi006 参考 xff1a 1 http dev px4 io advanced switching state estimators html 2 http blog sina com cn s blog 8fe4f2f4
  • PX4-terrain_estimator

    by luoshi006 参考 xff1a https github com PX4 Firmware blob master src lib terrain estimation terrain estimator h PX4 位置估计中
  • 已归档博文收纳

    by luoshi006 欢迎交流 个人 Gitter 交流平台 xff0c 点击直达 xff1a L类 Learning GitHub Qt5 5 1 43 OpenCV2 4 10 环境配置PX4 开发环境 xff08 Ubuntu14
  • linux信号量

    1 信号量数据结构 union semun int val 整形变量 信号量初值 struct semid ds buf semid ds结构指针 unsigned short array 数组类型 struct seminfo buf 信
  • 单片机系统中的一种文字平滑(抗锯齿)显示方法

    这是之前一个项目中已实现的方法 xff0c 现在整理后拿出来分享 单片机系统中文字显示部分一般用的是用取模软件取出字模后输出到屏幕上显示 xff0c 这种方式显示的字体有锯齿 xff0c 在DPI低的显示屏上锯齿效果非常明显 对于单色屏来说
  • DIY个人智能家庭网关—— 路由器篇之刷机

    先选择合适的路由器型号 xff0c 要求有两个 xff0c 一 xff1a 有USB口 xff0c 二 xff1a 可以刷openwrt系统 xff0c 我的首选是newifi mini xff0c 比较喜欢折腾的可以刷openwrt官方固
  • 类中的域

    转自http book 51cto com art 201207 350797 htm 类的对象也称为这个类的实例 当创建一个对象时 xff0c 对象包含在类定义中包括的所有域 但是 xff0c 类定义中的域并不总是一样 一共有两种 有一种
  • Postman 插件介绍

    Postman介绍 Postman是google开发的一款功能强大的网页调试与发送网页HTTP请求 xff0c 并能运行测试用例的的Chrome插件 其主要功能包括 xff1a 模拟各种HTTP requests 从常用的 GET POST
  • 【2022阿里灵犀互娱】游戏测开笔试AC_Code

    测开笔试 xff0c 90分钟 xff0c 3道编程题 43 八股 xff0c 第二题输出格式模拟题 xff0c 就不贴了 T1 进制转换 题意 有一个数 xff0c 可能是2 xff5e 16进制的其中之一 xff0c 算出所有可能的结果
  • error while loading shared libraries: libopencv_imgcodecs.so.3.4

    最近给电脑重新安装了opencv3 4 10 xff0c 但是跑工程时却出现这个问题 xff0c 网上百度了一堆 xff0c 发现应该是库设置的问题 xff0c 但是到底是哪里出了问题 xff0c 怎么设置 xff0c 我根据我自己的实际情
  • 六、geotrellis按时间序列存储至hbase

    实现代码如下 xff1a import org apache camel scala dsl builder RouteBuilderSupport import geotrellis raster import geotrellis pr
  • 支持向量机svm及python测试

    from sklearn svm import SVR SVC from sklearn datasets import load boston from sklearn datasets import load wine from skl
  • mlp神经网络及python测试

    关于线性模型 xff1a y 39 61 w 0 x 0 43 w 0 x 0 43 43 w p x p 43 b 其中 xff0c y 39 表示对y的估算值 xff0c x 0 到x p 是样本特征值 w表示每个特征值的权重 xff0
  • linux 安装gdal(含hdf)记录

    一 准备工作 经实践 xff0c 在其他用户下存在某种问题 xff0c 可能是对Centos系统上不熟悉 xff0c 无法解决 xff0c 需在root用户下安装 xff09 xff1a su root 安装编译环境 sudo yum in
  • go语言多线程与并发编程

    go语言并发编程 在了解go语言的并发编程之前 xff0c 我们必须先了解并发和并行的概念 我们知道 xff0c 当启动一个应用的时候实际上是启动了一个进程 xff0c 通过该进程实现资源的调度和分配 xff0c 并且多个进程之间是相互隔离
  • Pycharm 中Available packages nothing to show

    国内源 xff1a 清华 xff1a https pypi tuna tsinghua edu cn simple 阿里云 xff1a http mirrors aliyun com pypi simple 中国科技大学 https pyp
  • 以太坊区块链的区块(Block)结构

    这里以以太坊区块链为基础进行讲解 直接看代码 xff1a 区块结构代码 xff1a block go 1 block的header type Header struct ParentHash common Hash 96 json 34 p
  • go语言连接mongodb数据库

    使用mongodb数据库之前需要先下载安装mongodb服务器端程序 xff0c 这里不再赘述 go语言下使用mongodb步骤如下 xff1a 1 下载mongodb连接驱动mgo 命令行下输入 xff1a go get gopkg in