golang操作mongodb的方法
更新時(shí)間:2015年02月24日 12:16:56 作者:不吃皮蛋
這篇文章主要介紹了golang操作mongodb的方法,涉及Go語(yǔ)言操作mongodb的連接、讀取及顯示的方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了golang操作mongodb的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
復(fù)制代碼 代碼如下:
package main
import (
"fmt"
"launchpad.net/mgo"
"launchpad.net/mgo/bson"
)
type Mail struct {
Id bson.ObjectId "_id"
Name string
Email string
}
func main() {
// 連接數(shù)據(jù)庫(kù)
session, err := mgo.Dial("127.0.0.1")
if err != nil {
panic(err)
}
defer session.Close()
// 獲取數(shù)據(jù)庫(kù),獲取集合
c := session.DB("test").C("mail")
// 存儲(chǔ)數(shù)據(jù)
m1 := Mail{bson.NewObjectId(), "user1", "user1@dotcoo.com"}
m2 := Mail{bson.NewObjectId(), "user1", "user2@dotcoo.com"}
m3 := Mail{bson.NewObjectId(), "user3", "user3@dotcoo.com"}
m4 := Mail{bson.NewObjectId(), "user3", "user4@dotcoo.com"}
err = c.Insert(&m1, &m2, &m3, &m4)
if err != nil {
panic(err)
}
// 讀取數(shù)據(jù)
ms := []Mail{}
err = c.Find(&bson.M{"name":"user3"}).All(&ms)
if err != nil {
panic(err)
}
// 顯示數(shù)據(jù)
for i, m := range ms {
fmt.Printf("%s, %d, %s\n", m.Id.Hex(), i, m.Email)
}
}
import (
"fmt"
"launchpad.net/mgo"
"launchpad.net/mgo/bson"
)
type Mail struct {
Id bson.ObjectId "_id"
Name string
Email string
}
func main() {
// 連接數(shù)據(jù)庫(kù)
session, err := mgo.Dial("127.0.0.1")
if err != nil {
panic(err)
}
defer session.Close()
// 獲取數(shù)據(jù)庫(kù),獲取集合
c := session.DB("test").C("mail")
// 存儲(chǔ)數(shù)據(jù)
m1 := Mail{bson.NewObjectId(), "user1", "user1@dotcoo.com"}
m2 := Mail{bson.NewObjectId(), "user1", "user2@dotcoo.com"}
m3 := Mail{bson.NewObjectId(), "user3", "user3@dotcoo.com"}
m4 := Mail{bson.NewObjectId(), "user3", "user4@dotcoo.com"}
err = c.Insert(&m1, &m2, &m3, &m4)
if err != nil {
panic(err)
}
// 讀取數(shù)據(jù)
ms := []Mail{}
err = c.Find(&bson.M{"name":"user3"}).All(&ms)
if err != nil {
panic(err)
}
// 顯示數(shù)據(jù)
for i, m := range ms {
fmt.Printf("%s, %d, %s\n", m.Id.Hex(), i, m.Email)
}
}
希望本文所述對(duì)大家的Go語(yǔ)言程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- 詳解如何使用Golang操作MongoDB數(shù)據(jù)庫(kù)
- Go語(yǔ)言學(xué)習(xí)筆記之golang操作MongoDB數(shù)據(jù)庫(kù)
- 一文帶你深入探索Golang操作mongodb的方法
- golang連接MongoDB數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)操作指南
- 詳解Golang使用MongoDB通用操作
- 利用golang驅(qū)動(dòng)操作MongoDB數(shù)據(jù)庫(kù)的步驟
- Golang對(duì)MongoDB數(shù)據(jù)庫(kù)的操作簡(jiǎn)單封裝教程
- Golang操作mongodb的實(shí)現(xiàn)示例
相關(guān)文章
go語(yǔ)言心跳超時(shí)的實(shí)現(xiàn)示例
本文主要介紹了go語(yǔ)言心跳超時(shí)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
Go?mod?replace使用方法及常見(jiàn)問(wèn)題分析
這篇文章主要為大家介紹了Go?mod?replace使用方法及常見(jiàn)問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
go使用SQLX操作MySQL數(shù)據(jù)庫(kù)的教程詳解
sqlx 是 Go 語(yǔ)言中一個(gè)流行的操作數(shù)據(jù)庫(kù)的第三方包,它提供了對(duì) Go 標(biāo)準(zhǔn)庫(kù) database/sql 的擴(kuò)展,簡(jiǎn)化了操作數(shù)據(jù)庫(kù)的步驟,下面我們就來(lái)學(xué)習(xí)一下go如何使用SQLX實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的一些基本操作吧2023-11-11
Golang?channel底層實(shí)現(xiàn)過(guò)程解析(深度好文)
Go語(yǔ)言為了方便使用者,提供了簡(jiǎn)單、安全的協(xié)程數(shù)據(jù)同步和通信機(jī)制,這篇文章主要介紹了Golang?channel底層是如何實(shí)現(xiàn)的,需要的朋友可以參考下2024-07-07
vscode搭建go開(kāi)發(fā)環(huán)境案例詳解
對(duì)于Visual Studio Code開(kāi)發(fā)工具,有一款優(yōu)秀的GoLang插件,今天通過(guò)本文給大家介紹下vscode搭建go開(kāi)發(fā)環(huán)境的詳細(xì)教程,感興趣的朋友跟隨小編一起看看吧2021-12-12
go語(yǔ)言入門(mén)環(huán)境搭建及GoLand安裝教程詳解
這篇文章主要介紹了go語(yǔ)言入門(mén)環(huán)境搭建及GoLand安裝教程詳解,需要的朋友可以參考下2020-12-12

