mongodb.go 1009 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package db
  2. import (
  3. . "app.yhyue.com/moapp/jybase/mongodb"
  4. "github.com/donnie4w/go-logger/logger"
  5. )
  6. var MyMgo = &myMgo{}
  7. type myMgo struct {
  8. }
  9. func (m *myMgo) SaveBulk(mgo *MongodbSim, sess *MgoSess, dbName, collName string, array *[]map[string]interface{}) error {
  10. if sess == nil {
  11. sess = mgo.GetMgoConn()
  12. defer mgo.DestoryMongoConn(sess)
  13. }
  14. bulk := sess.DB(dbName).C(collName).Bulk()
  15. for _, v := range *array {
  16. bulk.Insert(v)
  17. }
  18. _, err := bulk.Run()
  19. if nil != err {
  20. logger.Info("SaveBulkError", err)
  21. }
  22. *array = []map[string]interface{}{}
  23. return err
  24. }
  25. func (m *myMgo) DelBulk(mgo *MongodbSim, sess *MgoSess, dbName, collName string, array *[]interface{}) error {
  26. if sess == nil {
  27. sess = mgo.GetMgoConn()
  28. defer mgo.DestoryMongoConn(sess)
  29. }
  30. bulk := sess.DB(dbName).C(collName).Bulk()
  31. for _, v := range *array {
  32. bulk.Remove(map[string]interface{}{"_id": v})
  33. }
  34. _, err := bulk.Run()
  35. if nil != err {
  36. logger.Info("DelBulkError", err)
  37. }
  38. *array = []interface{}{}
  39. return err
  40. }