浏览代码

feat:修改

wangchuanjin 3 年之前
父节点
当前提交
2c3a246991
共有 1 个文件被更改,包括 23 次插入14 次删除
  1. 23 14
      src/mongodb/mongodb.go

+ 23 - 14
src/mongodb/mongodb.go

@@ -250,19 +250,39 @@ func (ms *MgoSess) One(v *map[string]interface{}) {
 }
 func (ms *MgoSess) All(v *[]map[string]interface{}) {
 	of := options.Find()
-	of.SetProjection(ms.fields)
-	of.SetSort(ms.sorts)
+	if ms.fields != nil {
+		of.SetProjection(ms.fields)
+	}
+	if len(ms.sorts) > 0 {
+		of.SetSort(ms.sorts)
+	}
 	if ms.skip > 0 {
 		of.SetSkip(ms.skip)
 	}
 	if ms.limit > 0 {
 		of.SetLimit(ms.limit)
 	}
+	log.Println(ms.db, ms.coll, ms.query)
 	cur, err := ms.M.C.Database(ms.db).Collection(ms.coll).Find(ms.M.Ctx, ms.query, of)
+	log.Println(err)
 	if err == nil && cur.Err() == nil {
 		cur.All(ms.M.Ctx, v)
 	}
 }
+func (ms *MgoSess) toSort() bson.D {
+	sort := bson.D{}
+	for _, k := range ms.sorts {
+		switch k[:1] {
+		case "-":
+			sort = append(sort, bson.E{k[1:], -1})
+		case "+":
+			sort = append(sort, bson.E{k[1:], 1})
+		default:
+			sort = append(sort, bson.E{k, 1})
+		}
+	}
+	return sort
+}
 func (ms *MgoSess) Iter() *MgoIter {
 	it := &MgoIter{}
 	coll := ms.M.C.Database(ms.db).Collection(ms.coll)
@@ -275,18 +295,7 @@ func (ms *MgoSess) Iter() *MgoIter {
 	}
 	find.SetBatchSize(100)
 	if len(ms.sorts) > 0 {
-		sort := bson.D{}
-		for _, k := range ms.sorts {
-			switch k[:1] {
-			case "-":
-				sort = append(sort, bson.E{k[1:], -1})
-			case "+":
-				sort = append(sort, bson.E{k[1:], 1})
-			default:
-				sort = append(sort, bson.E{k, 1})
-			}
-		}
-		find.SetSort(sort)
+		find.SetSort(ms.toSort())
 	}
 	if ms.fields != nil {
 		find.SetProjection(ms.fields)