Bläddra i källkod

Merge branch 'develop' of 192.168.3.17:zhanghongbo/qfw into develop

wangchuanjin 9 år sedan
förälder
incheckning
738329a679
1 ändrade filer med 17 tillägg och 16 borttagningar
  1. 17 16
      common/src/qfw/util/mongodb/mongodbSim.go

+ 17 - 16
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 {
@@ -94,7 +94,7 @@ func (m *MongodbSim) Update(c string, query interface{}, set interface{}, upsert
 			}
 		}
 		if nil != err {
-			log.Println("CountError", err)
+			log.Println("UpdateError", err)
 			b = false
 		}
 	}
@@ -124,13 +124,12 @@ 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()
 	if sess != nil {
 		defer m.DestoryMongoConn(sess)
-		coll := sess.DB(DB).C(c)
+		coll := sess.DB(m.DbName).C(c)
 		obj := ObjToM(doc)
 		id := NewObjectId()
 		(*obj)["_id"] = id
@@ -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
 }
 
 //查询单条对象
@@ -168,7 +166,7 @@ func (m *MongodbSim) FindById(c string, query string, fields interface{}) *map[s
 	if sess != nil {
 		defer m.DestoryMongoConn(sess)
 		res = make(map[string]interface{})
-		coll := sess.DB(DB).C(c)
+		coll := sess.DB(m.DbName).C(c)
 		var err error
 		err = coll.FindId(ObjectIdHex(query)).Select(ObjToOth(fields)).One(&res)
 		if nil != err {
@@ -179,14 +177,15 @@ 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)
-		coll := sess.DB(DB).C(c)
+		coll := sess.DB(m.DbName).C(c)
 		var err error
 		if single {
 			err = coll.Find(ObjToM(query)).Select(ObjToOth(fields)).One(&res[0])
@@ -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
 }