我是 MongoDB 的新手,我尝试使用“go.mongodb.org/mongo-driver/mongo”库中的 collection.Watch()。和来自https://github.com/minhthuy30197/change_stream/blob/master/main.go的代码。然后我构建并运行它立即停止。
我试图一次又一次地运行,它也停止运行。go run main.go
我已经在and之间切换./testStreams
,它仍然停止运行
所以这是我编辑的代码。
clientOptions := options.Client().
ApplyURI("mongodb://localhost:27017/test")
client, err := mongo.Connect(context.TODO(), clientOptions)
if err != nil {
log.Fatalf("Failed to create the new client: %v", err)
}
ctx := context.Background()
if err := client.Connect(ctx); err != nil {
log.Printf("Failed to open client connection: %v", err)
}
defer client.Disconnect(ctx)
coll := client.Database("test").Collection("streams")
var pipeline interface{}
for {
cur, err := coll.Watch(ctx, pipeline)
if err != nil {
log.Fatalf("Watch error: %v", err)
}
defer cur.Close(ctx)
log.Println(cur)
for cur.Next(ctx) {
elem := CSElem{}
if err := cur.Decode(elem); err != nil {
log.Fatalf("Decode error: %v", err)
}
log.Println(elem)
}
if err := cur.Err(); err != nil {
log.Fatalf("Error detected: %v", err)
}
}
当我编辑然后出现错误
2019/08/07 13:46:39 无法打开客户端连接:拓扑已连接或连接退出状态1
我该怎么修??