Skip to content

Instantly share code, notes, and snippets.

@joeke80215
Created March 3, 2018 09:56
Show Gist options
  • Save joeke80215/b766c8d87d8fd5126001baf33394e2ce to your computer and use it in GitHub Desktop.
Save joeke80215/b766c8d87d8fd5126001baf33394e2ce to your computer and use it in GitHub Desktop.
mgo gridfs
package main
import (
_ "encoding/json"
"fmt"
"gopkg.in/mgo.v2"
"io"
"os"
)
func check(err error) {
if err != nil {
panic(err)
}
}
func insertFile() {
session,err := mgo.Dial("127.0.0.1:27017");
check(err)
defer session.Close()
session.SetMode(mgo.Monotonic,true)
db :=session.DB("files")
file,err := db.GridFS("fs").Create("hello.txt")
check(err)
n,err := file.Write([]byte("Hello Gridfs"))
check(err)
err = file.Close()
check(err)
fmt.Printf("%d bytes written\n",n)
}
func readByte() {
session,err := mgo.Dial("127.0.0.1:27017")
check(err)
defer session.Close()
db := session.DB("files")
file,err := db.GridFS("fs").Open("hello.txt")
check(err)
b := make([]byte,15)
n,err := file.Read(b)
check(err)
fmt.Println(string(b))
check(err)
err = file.Close()
check(err)
fmt.Printf("%d bytes read\n", n)
}
func stdout(){
session,err := mgo.Dial("127.0.0.1:27017")
defer session.Close()
check(err)
db := session.DB("files")
file,err := db.GridFS("fs").Open("hello.txt")
defer file.Close()
check(err)
_,err = io.Copy(os.Stdout,file)
check(err)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment