瀏覽代碼

Covered querieshandler cases

Edward Bramanti 10 年之前
父節點
當前提交
673c7d29ab
共有 1 個文件被更改,包括 16 次插入9 次删除
  1. 16 9
      frameworks/Go/go-mongodb/src/hello/hello.go

+ 16 - 9
frameworks/Go/go-mongodb/src/hello/hello.go

@@ -33,7 +33,7 @@ type Message struct {
 
 type World struct {
 	Id           uint16 `bson:"id" json:"id"`
-	RandomNumber uint16 `bson:"randomNumber" json:"id"`
+	RandomNumber uint16 `bson:"randomNumber" json:"randomNumber"`
 }
 
 type Fortune struct {
@@ -58,7 +58,7 @@ func (s ByMessage) Less(i, j int) bool {
 }
 
 func main() {
-	port := ":8228"
+	port := ":8080"
 	runtime.GOMAXPROCS(runtime.NumCPU())
 	if session, err := mgo.Dial(connectionString); err != nil {
 		log.Fatalf("Error opening database: %v", err)
@@ -112,19 +112,26 @@ func queriesHandler(w http.ResponseWriter, r *http.Request) {
 		n, _ = strconv.Atoi(nStr)
 	}
 
-	if n <= 1 {
-		dbHandler(w, r)
-		return
-	} else if n > 500 {
+	if n > 500 {
 		n = 500
 	}
-	result := make([]World, n)
-	for _, world := range result {
+	var result []World
+	if n <= 1 {
+		result = make([]World, 1)
 		query := bson.M{"id": getRandomNumber()}
-		if err := worlds.Find(query).One(&world); err != nil {
+		if err := worlds.Find(query).One(&result[0]); err != nil {
 			log.Fatalf("Error finding world with id: %s", err.Error())
 			return
 		}
+	} else {
+		result = make([]World, n)
+		for i := 0; i < n; i++ {
+			query := bson.M{"id": getRandomNumber()}
+			if err := worlds.Find(query).One(&result[i]); err != nil {
+				log.Fatalf("Error finding world with id: %s", err.Error())
+				return
+			}
+		}
 	}
 
 	w.Header().Set("Content-Type", "application/json")