项目作者: amorist

项目描述 :
Use mongo-go-driver like mgo
高级语言: Go
项目地址: git://github.com/amorist/mango.git
创建时间: 2019-07-05T06:11:36Z
项目社区:https://github.com/amorist/mango

开源协议:MIT License

下载


mango


<img src=”./logo/mango.svg” width = 150” alt=”图片名称”/>

GoDoc
Build Status
dependabot
FOSSA Status

Use mongo-go-driver like mgo

installation

go get -u github.com/amorist/mango

usage

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/amorist/mango"
  5. "github.com/amorist/mango/bson"
  6. )
  7. // Person person model
  8. type Person struct {
  9. ID bson.ObjectID `bson:"_id" json:"_id"`
  10. Name string `bson:"name" json:"name"`
  11. }
  12. func main() {
  13. session := mango.New("mongodb://127.0.0.1")
  14. session.SetPoolLimit(10)
  15. if err := session.Connect(); err != nil {
  16. fmt.Println(err)
  17. return
  18. }
  19. // Find find all
  20. var result []Person
  21. if err := session.DB("test").Collection("persons").Find(bson.M{}).All(&result); err != nil {
  22. fmt.Println(err)
  23. }
  24. for _, r := range result {
  25. fmt.Println(r.Name)
  26. }
  27. // Update
  28. if err := session.DB("test").Collection("persons").Update(bson.M{"name": "name1"}, bson.M{"$set": bson.M{"name": "name2"}}); err != nil {
  29. fmt.Println(err)
  30. }
  31. // Update update all
  32. info, err := session.DB("test").Collection("persons").UpdateAll(bson.M{"name": "name1"}, bson.M{"$set": bson.M{"name": "name"}})
  33. if err != nil {
  34. fmt.Println(err)
  35. }
  36. fmt.Println(info)
  37. // Remove
  38. if err := session.DB("test").Collection("persons").Remove(bson.M{"name": "name"}); err != nil {
  39. fmt.Println(err)
  40. }
  41. // RemoveAll
  42. if err := session.DB("test").Collection("persons").RemoveAll(bson.M{"name": "name"}); err != nil {
  43. fmt.Println(err)
  44. }
  45. // Insert
  46. if err := session.DB("test").Collection("persons").Insert(bson.M{"name": "name"}); err != nil {
  47. fmt.Println(err)
  48. }
  49. // InsertAll
  50. var docs []interface{}
  51. for index := 0; index < 10; index++ {
  52. docs = append(docs, bson.M{"name": index})
  53. }
  54. if err := session.DB("test").Collection("persons").InsertAll(docs); err != nil {
  55. fmt.Println(err)
  56. }
  57. // Count
  58. count, err := session.DB("test").Collection("persons").Count(bson.M{"name": "name"})
  59. if err != nil {
  60. fmt.Println(err)
  61. }
  62. fmt.Println(count)
  63. }

doc

mango

License

FOSSA Status