Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "gopkg.in/mgo.v2"
- "gopkg.in/mgo.v2/bson"
- "log"
- )
- type MyInterface interface {
- Hello()
- }
- type MyType struct {
- }
- func (x MyType) Hello() {
- log.Println("Hello!")
- }
- type MyList []MyInterface
- func (ml MyList) SetBSON(interface{}) error {
- log.Println("In GetBSON")
- ml = make([]MyInterface, 1)
- ml[0] = MyType{}
- return nil
- }
- type MyDocument struct {
- List MyList
- }
- func main() {
- session, err := mgo.Dial("db")
- if err != nil {
- log.Fatalf("Unable to open MongoDB session: %s", err)
- }
- database := session.DB("my_db")
- collection := database.C("my_collection")
- var doc MyDocument
- doc.List = MyList{
- MyType{},
- }
- err = collection.Insert(doc)
- if err != nil {
- log.Fatalf("insert: %s", err)
- }
- err = collection.Find(bson.M{}).One(&doc)
- if err != nil {
- log.Fatalf("find: %s", err)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement