golang操作mongodb

转载 2013年12月04日 15:46:21
所需包engine

import (
    "fmt"
    "sync"
    "engine/mgo"
    "engine/mgo/bson"
)

var (
    session *mgo.Session
    db      *mgo.Database
    c       *mgo.Collection
    mux     sync.Mutex
)

func init() {
    mux.Lock()
    defer mux.Unlock()

    if session != nil {
        return
    }

    // new session
    session, err := mgo.Dial("192.168.0.229:27017")
    checkErr("dial fail", err)

    session.SetMode(mgo.Monotonic, true)

    // new db
    if db != nil {
        return
    }
    db = session.DB("Test")

    // new collection
    if c != nil {
        return
    }
    c = db.C("person")
}

func checkErr(data string, err error) {
    if err != nil {
        fmt.Println(data + ": " + err.Error())
    }
}

type Person struct {
    Name  string
    Email string
}

func New() *Person {
    return &Person{
        Name:  "zhangbaolang",
        Email: "zhagnbaoliang.vip@gmail.com",
    }
}

func main() {

    // insert
    err := c.Insert(New())
    checkErr("insert fail", err)

    // find
    m := bson.M{"name": "zhangbaolang"}

    query := c.Find(m)

    // one
    person := Person{}
    err = query.One(&person)
    //fmt.Println(person.Name)
    checkErr("query fail", err)

    fmt.Println(person.Email)

    if session != nil {
        session.Close()
    }
}

三、go语言操作 mongodb mgo --go语言学习笔记

mgo使用指南mgo简介 mgo(音mango)是MongoDB的Go语言驱动,它用基于Go语法的简单API实现了丰富的特性,并经过良好测试。官方网站:http://labix.org/mgo。go...
  • alvine008
  • alvine008
  • 2016年04月05日 13:31
  • 8368

MongoDB 增删改查与 Golang 的语法实现

这篇文章主要建设 MongDb 中的增删改成与在 Golang 中的具体实现
  • netdxy
  • netdxy
  • 2017年02月06日 16:27
  • 1516

Go实战--golang中使用MongoDB(mgo)

生命不止,继续 go go go !!!昨天分享了golang如何操作redis数据库,那今天就介绍一下golang中如何使用mongodb数据库。何为MongoDB?简介 MongoDB 是由C+...
  • wangshubo1989
  • wangshubo1989
  • 2017年07月14日 13:29
  • 8286

MongoDB的Go语言驱动----mgo的使用指南

原文地址:https://my.oschina.net/ffs/blog/300148 mgo简介 mgo(音mango)是MongoDB的Go语言驱动,它用基于Go语法的简单API实现了丰富...
  • skh2015java
  • skh2015java
  • 2016年11月04日 12:02
  • 3015

使用Golang+Mongodb打造你的第一个站点

很多人推荐MEAN来开发站点。MEAN就是M:mongodb,E:expressjs、A:angular最后的N:nodejs。 但是如果你亲身的体会到了js的嵌套回调的话你就会想换换别的办法了。虽然...
  • future_challenger
  • future_challenger
  • 2015年11月15日 21:26
  • 987

golang操作mongodb

所需包engine import (     "fmt"     "sync"     "engine/mgo"     "engine/mgo/bson" ) var (  ...
  • zb_liang
  • zb_liang
  • 2013年12月04日 15:46
  • 1534

golang 使用mgo 连接MongoDB

golang访问MongoDB数据库。
  • Crazy__Programmer
  • Crazy__Programmer
  • 2014年03月20日 16:56
  • 13855

Golang+Mgo 实现对于MongoDB的正则表达式查找

1.xxdb.go程序内容如下 package xxdb import ( "../xxio" "fmt" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bso...
  • su_sai
  • su_sai
  • 2016年10月22日 14:42
  • 1865

Golang+MongoDB实现的增删改查demo

package main import ( "fmt" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) type Person struct { ...
  • qq_32340877
  • qq_32340877
  • 2017年12月20日 15:47
  • 76

mongoDB mgo GO语言驱动

  • 2013年10月11日 14:42
  • 129KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:golang操作mongodb
举报原因:
原因补充:

(最多只允许输入30个字)