renzheng 9 lat temu
rodzic
commit
336790adf2
1 zmienionych plików z 13 dodań i 12 usunięć
  1. 13 12
      common/src/qfw/util/mongodb/mongodbSim.go

+ 13 - 12
common/src/qfw/util/mongodb/mongodbSim.go

@@ -2,12 +2,12 @@ package mongodb
 
 import (
 	"fmt"
-	"strings"
 	mgo "gopkg.in/mgo.v2"
+	. "gopkg.in/mgo.v2/bson"
 	"log"
-	"time"
 	"qfw/util"
-	. "gopkg.in/mgo.v2/bson"
+	"strings"
+	"time"
 )
 
 type MongodbSim struct {
@@ -124,7 +124,6 @@ func (m *MongodbSim) SaveBulk(c string, doc ...map[string]interface{}) bool {
 	return b
 }
 
-
 func (m *MongodbSim) Save(c string, doc interface{}) string {
 	defer util.Catch()
 	sess := m.GetMgoConn()
@@ -144,20 +143,19 @@ func (m *MongodbSim) Save(c string, doc interface{}) string {
 	return ""
 }
 
-
 //查询单条对象
-func (m *MongodbSim) FindOne(c string, query interface{}) *map[string]interface{} {
+func (m *MongodbSim) FindOne(c string, query interface{}) (*map[string]interface{}, bool) {
 	return m.FindOneByField(c, query, nil)
 }
 
 //查询单条对象
-func (m *MongodbSim) FindOneByField(c string, query interface{}, fields interface{}) *map[string]interface{} {
+func (m *MongodbSim) FindOneByField(c string, query interface{}, fields interface{}) (*map[string]interface{}, bool) {
 	defer util.Catch()
-	res := m.Find(c, query, nil, fields, true, -1, -1)
+	res, ok := m.Find(c, query, nil, fields, true, -1, -1)
 	if nil != res && len(*res) > 0 {
-		return &((*res)[0])
+		return &((*res)[0]), ok
 	}
-	return nil
+	return nil, ok
 }
 
 //查询单条对象
@@ -179,10 +177,11 @@ func (m *MongodbSim) FindById(c string, query string, fields interface{}) *map[s
 }
 
 //底层查询方法
-func (m *MongodbSim) Find(c string, query interface{}, order interface{}, fields interface{}, single bool, start int, limit int) *[]map[string]interface{} {
+func (m *MongodbSim) Find(c string, query interface{}, order interface{}, fields interface{}, single bool, start int, limit int) (*[]map[string]interface{}, bool) {
 	defer util.Catch()
 	sess := m.GetMgoConn()
 	var res []map[string]interface{}
+	b := false
 	if sess != nil {
 		defer m.DestoryMongoConn(sess)
 		res = make([]map[string]interface{}, 1)
@@ -197,7 +196,9 @@ func (m *MongodbSim) Find(c string, query interface{}, order interface{}, fields
 		}
 		if nil != err {
 			log.Println("FindError", err)
+		} else {
+			b = true
 		}
 	}
-	return &res
+	return &res, b
 }