码迷,mamicode.com
首页 > 数据库 > 详细

mgo操作mongodb

时间:2018-07-22 19:19:46      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:bash   模糊   格式   host   func   main   ODB   pkg   str   

mgo基本使用:

http://labix.org/mgo

安装

# go get gopkg.in/mgo.v2
package main

import (
        "fmt"
    "log"
        "gopkg.in/mgo.v2"
        "gopkg.in/mgo.v2/bson"
)

type Person struct {
        Name string
        Phone string
}

func main() {
        //mongodb连接uri
        //格式为[mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]
        session, err := mgo.Dial("mongodb://cord:123456@127.0.0.1:27010/keymap")
        if err != nil {
                panic(err)
        }
        defer session.Close()

        // Optional. Switch the session to a monotonic behavior.
        session.SetMode(mgo.Monotonic, true)

        c := session.DB("test").C("people")
        
        //增加记录
        err = c.Insert(&Person{"Ale", "+55 53 8116 9639"},
                   &Person{"Cla", "+55 53 8402 8510"})
        if err != nil {
                log.Fatal(err)
        }
        result := Person{}
        //普通查询
        err = c.Find(bson.M{"name": "Ale"}).One(&result)
        //正则匹配(模糊查询),其中"$options":"$i"表示忽略大小写
        //regexStr = "A" 
        //err = c.Find(bson.M{"name":bson.M{"$regex" : regexStr, "$options":"$i"}}).All(&result)
        if err != nil {
                log.Fatal(err)
        }
        fmt.Println("Phone:", result.Phone)
        
        //删除记录
        err = c.Remove(bson.M{"name":"Ale"})  //删除单条,如果有多条,默认顺序第一条
    _, err = c.RemoveAll(bson.M{"name":"Ale"}) //删除所有查找的
    if err != nil {
            fmt.Println(err)
    }
}

mgo操作mongodb

标签:bash   模糊   格式   host   func   main   ODB   pkg   str   

原文地址:https://www.cnblogs.com/cord/p/9351016.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!