本文实例讲述了golang操作mongodb的方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下:
package main
import (
"fmt"
"launchpad.net/mgo"
"launchpad.net/mgo/bson"
)
type Mail struct {
Id bson.ObjectId "_id"
Name string
Email string
}
func main() {
// 连接数据库
session,err := mgo.Dial("127.0.0.1")
if err != nil {
panic(err)
}
defer session.Close()
// 获取数据库,获取集合
c := session.DB("test").C("mail")
// 存储数据
m1 := Mail{bson.NewObjectId(),"user1","user1@dotcoo.com"}
m2 := Mail{bson.NewObjectId(),"user2@dotcoo.com"}
m3 := Mail{bson.NewObjectId(),"user3","user3@dotcoo.com"}
m4 := Mail{bson.NewObjectId(),"user4@dotcoo.com"}
err = c.Insert(&m1,&m2,&m3,&m4)
if err != nil {
panic(err)
}
// 读取数据
ms := []Mail{}
err = c.Find(&bson.M{"name":"user3"}).All(&ms)
if err != nil {
panic(err)
}
// 显示数据
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() {
// 连接数据库
session,err := mgo.Dial("127.0.0.1")
if err != nil {
panic(err)
}
defer session.Close()
// 获取数据库,获取集合
c := session.DB("test").C("mail")
// 存储数据
m1 := Mail{bson.NewObjectId(),"user1","user1@dotcoo.com"}
m2 := Mail{bson.NewObjectId(),"user2@dotcoo.com"}
m3 := Mail{bson.NewObjectId(),"user3","user3@dotcoo.com"}
m4 := Mail{bson.NewObjectId(),"user4@dotcoo.com"}
err = c.Insert(&m1,&m2,&m3,&m4)
if err != nil {
panic(err)
}
// 读取数据
ms := []Mail{}
err = c.Find(&bson.M{"name":"user3"}).All(&ms)
if err != nil {
panic(err)
}
// 显示数据
for i,m := range ms {
fmt.Printf("%s,%d,%s\n",m.Id.Hex(),i,m.Email)
}
}
希望本文所述对大家的Go语言程序设计有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。