go语言操作mongoDB之mgo_mgo.v2 mongodb6.0-程序员宅基地

技术标签: go  

首先,先引入下载好的mgo包

import (
	"fmt"
	"gopkg.in/mgo.v2"
	"gopkg.in/mgo.v2/bson"
)
type Person struct {
	Name  string
	Phone string
}
func main() {
	//数据库操作
	session, err := mgo.Dial("localhost")
	if err != nil { panic(err) }
	defer session.Close()

	session.SetMode(mgo.Monotonic, true)
	//切换到text数据库的people集合
	c := session.DB("test").C("people")
	err = c.Insert(&Person{"老八", "奥里给"}, &Person{"郭老师", "猕猴桃"})
	if err != nil { panic(err) }
	result := Person{}
	//查询1条
	err = c.Find(bson.M{"name": "老八"}).One(&result)
	if err != nil { panic(err) }
	fmt.Println("Phone:", result.Phone)
	var users []Person
	//查询所有
	c.Find(nil).All(&users)
	fmt.Println(users)
	//修改字段
	c.Update(bson.M{"_id": bson.ObjectIdHex("5eccd006e00dcff49a5614d2")},
		bson.M{"$set": bson.M{ "name": "Jimmy Gu", "phone": "垃圾", }})
	//增加字段
	c.Update(bson.M{"_id": bson.ObjectIdHex("5eccd006e00dcff49a5614d2")},
		bson.M{"$inc": bson.M{ "edit": 1 }})
	//从数组中增加一个元素
	c.Update(bson.M{"_id": bson.ObjectIdHex("5eccd006e00dcff49a5614d2")},
		bson.M{"$push": bson.M{ "list": "Golangs", }})
	//从数组中删除一个元素
	c.Update(bson.M{"_id": bson.ObjectIdHex("5eccd006e00dcff49a5614d2")},
		bson.M{"$pull": bson.M{ "list": "Golang", }})
	// 删除
	c.Remove(bson.M{"_id": bson.ObjectIdHex("5eccd006e00dcff49a5614d2")})
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Kf_loseHair/article/details/106374215

智能推荐

【解决】macOS 10.15 Catalina xxx.app已损坏,无法打开,你应该将它移到废纸篓解决方法_astar打不开-程序员宅基地

文章浏览阅读3.7k次。更新macOS 10.15 Catalina后,很多在10.14上可以使用的App都会提示提示【xxx已损坏,无法打开,你应该将它移到废纸篓解决办法】,哪怕你在【安全与隐私 》 通用】中已经开启了“任何来源”,但还是会这样提示,下面就记录一下如何修复。1、对于MacOS 10.14的修复方法先打开 系统偏好设置 -> 安全与隐私 -> 通用 选项卡,检查是否已经启用了 任何来源..._astar打不开

jacob获取打开加密word以及获取总页数_dispatch.call(selection, "information-程序员宅基地

文章浏览阅读2.5k次。// 建立ActiveX部件wordCom = new ActiveXComponent("Word.Application");//word应用程序不可见wordCom.setProperty("Visible", False);// 禁用宏 wordCom.setProperty("AutomationSecurity", new Variant(3));try {_dispatch.call(selection, "information

Hive函数详解以及案例参考_hive base函数-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏6次。hive函数和mysql的函数在使用上有比较大的相似性,但具体在类别上还是有所区别,下面从数学、集合类型转换、日期、条件、字符串这几个维度整理了常用的函数。一、在Hive中查看函数的介绍desc function extended FUNC_NAME;二、数学函数log(double base,double a)简介:底数为base的a的对数,base可以自定义返回值类型:doublepow(double base,double p)简介:幂运算,底数为base的p的幂的值,若_hive base函数

【动态规划】(不可以重复取)最小邮票数_c++ 有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。 如,有1分,3分-程序员宅基地

文章浏览阅读180次。时间限制:1秒空间限制:65536K热度指数:8840算法知识视频讲解校招时部分企业笔试将禁止编程题跳出页面,为提前适应,练习时请使用在线自测,而非本地IDE。题目描述 有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。 如,有1分,3分,3分,3分,4分五张邮票,要求凑成10分,则使用3张邮票:3分、3分、4分即可。输入描述: 有多组..._c++ 有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。 如,有1分,3分

git commit --amend出现报错:E325: ATTENTION Found a swap file by the name “.git/.COMMIT_EDITMSG.swp”_git commit --amend e325-程序员宅基地

文章浏览阅读1.3k次。E325: ATTENTIONFound a swap file by the name ".git/.COMMIT_EDITMSG.swp" owned by: X dated: Wed Feb 21 12:01:07 2021 file name: ~X/Sites/mysite/.git/COMMIT_EDITMSG modified: no user name: X host name: X-2.local _git commit --amend e325

CAD绘图技巧包括许多方面,可以通过以下几点来提高绘图效率和质量:-程序员宅基地

文章浏览阅读250次,点赞15次,收藏2次。4. **合理设置文字字体**:在CAD图纸中,合理设置文字高度和字体,如文字高度设为3.5mm,使用长仿宋体等。9. **掌握基本命令**:熟悉并掌握常用的绘图和修改命令,如直线(L)、圆(C)、删除(E)、旋转(RO)等。8. **定期查杀病毒**:下载CAD病毒查杀软件,定期扫描清理,避免病毒影响绘图效率。5. **良好图层习惯**:合理管理图层,冻结或关闭当前不使用的图层,减少绘图干扰。17. **学习交流**:加入CAD学习交流群或论坛,与他人交流绘图技巧,共同进步。

随便推点

js ACM模式输入输出-程序员宅基地

文章浏览阅读2.7k次,点赞5次,收藏12次。js在acm模式下的输入输出。_js acm模式输入输出

山东5G覆盖时间表出炉:2020年市区重点区域,2023年覆盖县城-程序员宅基地

文章浏览阅读5.1k次。11月19日,山东省人民政府官网发布了《关于加快5G产业发展的实施意见》,提出到2020年,实现设区市城区有重点应用需求的区域5G网络连续覆盖,在全国率先实现5G规模商用;到2023年,实现县级以上城区5G网络连续覆盖,网络规模、用户规模、流量规模、5G行业应用、产业融合发展居全国前列。山东省将重点聚焦工业互联网、文体旅游、智慧政务、智慧交通、智慧医疗、智慧海洋、智慧农业、智慧应急、互联网金融、智..._山东省5g

利用正则表达式判断邮箱_判断邮箱的正则表达式-程序员宅基地

文章浏览阅读9.4k次,点赞2次,收藏3次。我的博客https://blog.ideaopen.cn日常开发中,判断邮箱是少不了的,这个我以C#为例,来写一个判断方法,正则表达式是通用的,CV就可以首先引入正则需要使用的命名空间//正则验证引用using System.Text.RegularExpressions;判断是否为QQ邮箱/// <summary>/// 验证QQ邮箱/// </summary>/// <param name="mail">邮箱</param&_判断邮箱的正则表达式

vscode中eslint检查警告Trailing space的自动化处理_vscode保留 trailing-space-程序员宅基地

文章浏览阅读2.8w次。在vscode 的使用过程中,执行npm run dev时会执行eslint 规范检查;常常碰见的错误信息如下:如果一行一行错误信息逐行检查处理,效率极低,且重复劳动,耗时费力,在插件横行的web前端时代,工具带来的好处就是自动化处理,带来强大生产力,那么vscode如何自动处理这类警告信息呢?这里再次尝试在一些结尾处多打些空格,此时你会发现并不能马上生效去除这些空格,这里一个小技巧,打几个无用的..._vscode保留 trailing-space

STM32嵌入式系统笔记(STM32F103)_stm32f103的微处理器采用哪种结构-程序员宅基地

文章浏览阅读2k次。pip是一个安装和管理Python包的工具mosquitto_stm32f103的微处理器采用哪种结构

qml语言基础_qml 创建空窗口-程序员宅基地

文章浏览阅读162次。如上图,新建一个空的Qt Quick Application,运行就是一个空的窗口文件import语句导入模块,类似于c++中的includeQtQuick 2.9:此模块为创建图形用户界面提供了最基本的类型QtQuick.Window模块:window类型可以为Qt Quick场景创建一个顶级窗口QML对象对象类型被实例化以后,就叫做该对象类型的对象如Window,在代码中现在就是一个对象,以大写字母开头,后面跟一对大括号,在括号中包含对象的属性QML元素如以下的控件..._qml 创建空窗口

推荐文章

热门文章

相关标签