12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package elastic
- import (
- "encoding/json"
- "fmt"
- "log"
- "runtime"
- "strings"
- )
- //obj(string,M)转M,查询用到
- func objToMap(obj interface{}) *map[string]interface{} {
- data := make(map[string]interface{})
- if s, ok := obj.(string); ok {
- json.Unmarshal([]byte(strings.Replace(s, "'", "\"", -1)), &data)
- } else if s1, ok1 := obj.(map[string]interface{}); ok1 {
- data = s1
- } else if s1, ok1 := obj.(*map[string]interface{}); ok1 {
- return s1
- } else {
- data = nil
- }
- return &data
- }
- //对象数组转成string数组
- func objArrToStringArr(old []interface{}) []string {
- if old != nil {
- new := make([]string, len(old))
- for i, v := range old {
- new[i], _ = v.(string)
- }
- return new
- } else {
- return nil
- }
- }
- //出错拦截
- func catch() {
- if r := recover(); r != nil {
- log.Println(r)
- for skip := 0; ; skip++ {
- _, file, line, ok := runtime.Caller(skip)
- if !ok {
- break
- }
- go log.Printf("%v,%v\n", file, line)
- }
- }
- }
- func bsonIdToSId(_id interface{}) string {
- v := fmt.Sprintf("%v", _id)
- v = strings.TrimPrefix(v, `ObjectID("`)
- v = strings.TrimSuffix(v, `")`)
- return v
- }
|