golang操作mongodb的方法
更新時間:2015年02月24日 12:16:56 作者:不吃皮蛋
這篇文章主要介紹了golang操作mongodb的方法,涉及Go語言操作mongodb的連接、讀取及顯示的方法,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了golang操作mongodb的方法。分享給大家供大家參考。具體實現(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ù)庫
session, err := mgo.Dial("127.0.0.1")
if err != nil {
panic(err)
}
defer session.Close()
// 獲取數(shù)據(jù)庫,獲取集合
c := session.DB("test").C("mail")
// 存儲數(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ù)庫
session, err := mgo.Dial("127.0.0.1")
if err != nil {
panic(err)
}
defer session.Close()
// 獲取數(shù)據(jù)庫,獲取集合
c := session.DB("test").C("mail")
// 存儲數(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)
}
}
希望本文所述對大家的Go語言程序設(shè)計有所幫助。
相關(guān)文章
go使用SQLX操作MySQL數(shù)據(jù)庫的教程詳解
sqlx 是 Go 語言中一個流行的操作數(shù)據(jù)庫的第三方包,它提供了對 Go 標(biāo)準(zhǔn)庫 database/sql 的擴(kuò)展,簡化了操作數(shù)據(jù)庫的步驟,下面我們就來學(xué)習(xí)一下go如何使用SQLX實現(xiàn)MySQL數(shù)據(jù)庫的一些基本操作吧2023-11-11
Golang?channel底層實現(xiàn)過程解析(深度好文)
Go語言為了方便使用者,提供了簡單、安全的協(xié)程數(shù)據(jù)同步和通信機(jī)制,這篇文章主要介紹了Golang?channel底層是如何實現(xiàn)的,需要的朋友可以參考下2024-07-07

