fa directory created
This commit is contained in:
58
fa/code/src/apps/ch.5.6/mongodb/main.go
Normal file
58
fa/code/src/apps/ch.5.6/mongodb/main.go
Normal file
@@ -0,0 +1,58 @@
|
||||
// Example code for Chapter 5.6 from "Build Web Application with Golang"
|
||||
// Purpose: Shows you have to perform basic CRUD operations for a mongodb driver.
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"labix.org/v2/mgo"
|
||||
"labix.org/v2/mgo/bson"
|
||||
)
|
||||
|
||||
type Person struct {
|
||||
Name string
|
||||
Phone string
|
||||
}
|
||||
|
||||
func checkError(err error) {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
const (
|
||||
DB_NAME = "test"
|
||||
DB_COLLECTION = "people"
|
||||
)
|
||||
|
||||
func main() {
|
||||
session, err := mgo.Dial("localhost")
|
||||
checkError(err)
|
||||
defer session.Close()
|
||||
|
||||
session.SetMode(mgo.Monotonic, true)
|
||||
|
||||
c := session.DB(DB_NAME).C(DB_COLLECTION)
|
||||
err = c.DropCollection()
|
||||
checkError(err)
|
||||
|
||||
ale := Person{"Ale", "555-5555"}
|
||||
cla := Person{"Cla", "555-1234"}
|
||||
|
||||
fmt.Println("Inserting")
|
||||
err = c.Insert(&ale, &cla)
|
||||
checkError(err)
|
||||
|
||||
fmt.Println("Updating")
|
||||
ale.Phone = "555-0101"
|
||||
err = c.Update(bson.M{"name": "Ale"}, &ale)
|
||||
|
||||
fmt.Println("Querying")
|
||||
result := Person{}
|
||||
err = c.Find(bson.M{"name": "Ale"}).One(&result)
|
||||
checkError(err)
|
||||
fmt.Println("Phone:", result.Phone)
|
||||
|
||||
fmt.Println("Deleting")
|
||||
err = c.Remove(bson.M{"name": "Ale"})
|
||||
checkError(err)
|
||||
}
|
||||
Reference in New Issue
Block a user