2017-01-08 9 views
1

Am пытается обновить подсчитывать вид каждый раз, когда конкретный блог посещают

type Blog struct { 
    ID   bson.ObjectId `bson:"_id,omitempty"` 
    Topic  string 
    TimeCreated string 
    Views  int 
    Sections []Section 
} 
type Section struct { 
    Name string 
    Content string 
} 

и

регулятора,
func Blogs(w http.ResponseWriter, r *http.Request) { 
    id := r.FormValue("id") 
    if id != "" { 
     blog := model.Blog{} 
     colQuerier := bson.M{"_id": bson.ObjectIdHex(id)} 

     e := mCollection.Find(colQuerier).One(&blog) 
     if e != nil { 
      console.PrintError(e) 
      return 
     } 
     views := blog.Views 
     fmt.Println(views) 
     change := bson.M{"$inc": bson.M{"Views": 1}} 

     e = mCollection.Update(colQuerier, change) 
     if e != nil { 
      console.PrintError(e) 
     } 

     jsonData, _ := json.Marshal(blog) 
     fmt.Fprintf(w, string(jsonData)) 
    } 
} 

// консоль представляет собой внутренний пакет

код извлекает содержимое, но не увеличивает его.

ответ

1

Я нашел ответ , так что модель имела «Views». В коллекции это были «взгляды», поэтому он продолжал увеличивать «Просмотры», которые никогда не появлялись, потому что голанг искал «взгляды».

поэтому рабочий код

change := bson.M{"$inc": bson.M{"views": 1}}