MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Golang / MGO -- паника:няма достъпни сървъри

Изпълнете следната версия на вашия публикуван код. Опитайте се да не променяте кода, поне не променяйте позицията на номерата на редовете. По този начин, ако публикувате проследяване на стека, числата ще съвпадат.

package main

import (
    "fmt"
    "time"
)

import (
    "labix.org/v2/mgo"
)

func connectToMongo() bool {
    ret := false
    fmt.Println("enter main - connecting to mongo")

    // tried doing this - doesn't work as intended
    defer func() {
        if r := recover(); r != nil {
            fmt.Println("Detected panic")
            var ok bool
            err, ok := r.(error)
            if !ok {
                fmt.Printf("pkg:  %v,  error: %s", r, err)
            }
        }
    }()

    maxWait := time.Duration(5 * time.Second)
    session, sessionErr := mgo.DialWithTimeout("localhost:27017", maxWait)
    if sessionErr == nil {
        session.SetMode(mgo.Monotonic, true)
        coll := session.DB("MyDB").C("MyCollection")
        if ( coll != nil ) {
            fmt.Println("Got a collection object")
            ret = true
        }
    } else { // never gets here
        fmt.Println("Unable to connect to local mongo instance!")
    }
    return ret
}

func main() {
    if ( connectToMongo() ) {
        fmt.Println("Connected")
    } else {
        fmt.Println("Not Connected")
    }
}

Когато MongoDB работи, виждам:

enter main - connecting to mongo
Got a collection object
Connected

Когато MongoDB не работи, виждам:

enter main - connecting to mongo
Unable to connect to local mongo instance!
Not Connected

Ако не виждате същото поведение, публикувайте резултата, включително паниката, която виждате.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да групирате по множество полета в MongoDB, когато едното е поле за дата

  2. Как да филтрирате и картографирате масив от документи в MongoDB заявка?

  3. Как да направите сложна заявка MongoDB с Powershell

  4. Задайте квота на MongoDB база данни (SIZE)

  5. Java драйвер Mongo - извличане на част от масив без друго поле