《Web Development with Go》Mangodb插入map,slice,Embedded Documents
2024-09-01 22:13:55
这几个好理解,
更好的实现,再说。
package main import ( "fmt" "log" "time" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) type Task struct { Description string Due time.Time } type Category struct { Id bson.ObjectId `bson:"_id,omitempty"` Name string Description string Tasks []Task } func main() { mongoDialInfo := &mgo.DialInfo{ Addrs: []string{"localhost"}, Timeout: 5 * time.Second, Database: "taskdb", Username: "root", Password: "123456", } session, err := mgo.DialWithInfo(mongoDialInfo) if err != nil { panic(err) } defer session.Close() session.SetMode(mgo.Monotonic, true) c := session.DB("taskdb").C("categories") docM := map[string]string{ "name": "Open Source", "description": "Tasks for open-source projects", } err = c.Insert(docM) if err != nil { log.Fatal(err) } docD := bson.D{ {"name", "Project"}, {"description", "Project Tasks"}, } err = c.Insert(docD) if err != nil { log.Fatal(err) } doc := Category{ bson.NewObjectId(), "Open-Source", "Tasks for open-source projects", []Task{ Task{"Create project in mgo", time.Date(2015, time.August, 10, 0, 0, 0, 0, time.UTC)}, Task{"Create REST API", time.Date(2015, time.August, 20, 0, 0, 0, 0, time.UTC)}, }, } err = c.Insert(&doc) if err != nil { log.Fatal(err) } var count int count, err = c.Count() if err != nil { log.Fatal(err) } else { fmt.Printf("%d records inserted", count) } }
最新文章
- java 垃圾回收
- html5 三角形
- hibernate内部测试题(附赠答案)
- phpmyadmin #1045 #2002 无法登录 MySQL 服务器的解决方
- POJ 1195 2维线段树(树套树实现) 树状数组
- SpriteKit所有的类
- clear_logs.py修改
- sort和qsort排序
- ural1772 Ski-Trails for Robots
- SpringMVC过程中@RequestBody接收Json的问题 总是报415
- 教大家怎样给UITextView加入placeholder扩展
- docker挂载NVIDIA显卡运行pytorch
- mongodb查询操作分析
- MySQL/上
- [LeetCode] Candy Crush 糖果消消乐
- mysql进阶(二十三)数据库事务四大特性
- Scala详解
- ASP.NET AJAX入门系列(11):在多个UpdatePanle中使用Timer控件
- C# 获取文件图标
- linux的systemctl 命令用法 转