main.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package main
  2. import (
  3. "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
  4. "log"
  5. "sync"
  6. )
  7. func main() {
  8. scp()
  9. }
  10. func scp() {
  11. Mgo := &mongodb.MongodbSim{
  12. MongodbAddr: "192.168.3.206:27002",
  13. DbName: "qfw_data",
  14. Size: 10,
  15. UserName: "root",
  16. Password: "root",
  17. }
  18. Mgo.InitPool()
  19. sess := Mgo.GetMgoConn()
  20. defer Mgo.DestoryMongoConn(sess)
  21. //start, _ := time.Parse("2006-01-02 15:04:05", "2023-09-06 21:00:00")
  22. //end, _ := time.Parse("2006-01-02 15:04:05", "2023-09-07 09:00:00")
  23. //////
  24. //q := map[string]interface{}{
  25. // "comeintime": map[string]interface{}{
  26. // "$gte": start.Unix(),
  27. // "$lte": end.Unix(),
  28. // },
  29. // //"modifyinfo.toptype": map[string]interface{}{
  30. // // "$exists": 1,
  31. // //},
  32. // "toptype": "招标",
  33. // //"subtype": "其它",
  34. //
  35. //}
  36. query := sess.DB("qfw_data").C("projectset_proposed").Find(nil).Select(map[string]interface{}{"nav_column": 0}).Iter()
  37. //query := sess.DB("wcc").C("wcc_huahui_data_result_0829_200").Find(q).Select(nil).Iter()
  38. //c, _ := sess.DB("qfw").C("bidding").Find(q).Select(nil).Count()
  39. //fmt.Println("ccccc=>", c)
  40. //query := sess.DB("mixdata").C("bidding_wcc_nijian").Find(nil).Iter()
  41. count := 0
  42. ////
  43. ch := make(chan bool, 10)
  44. wg := &sync.WaitGroup{}
  45. for tmp := make(map[string]interface{}); query.Next(tmp); count++ {
  46. if count%1000 == 0 {
  47. log.Println("current --- ", count)
  48. }
  49. ch <- true
  50. wg.Add(1)
  51. go func(tmp map[string]interface{}) {
  52. defer func() {
  53. <-ch
  54. wg.Done()
  55. }()
  56. Mgo.SaveByOriID("wcc_projectset_proposed", tmp)
  57. }(tmp)
  58. tmp = make(map[string]interface{})
  59. }
  60. wg.Wait()
  61. log.Println("dealTmp over ", count)
  62. }