我试图运行一个不返回任何结果的Pipe,因为最后一个管道运算符是$out
。
// { $out: "y" }
pipeline := DB. C("x"). Pipe(stages). AllowDiskUse()
result := []bson.M{}
err := pipeline.All(&result)
当我运行管道时,我正在超时。我假设mgo正在等待结果被读取 - 永远。
答案 0 :(得分:0)
解决。请致电All(&result)
。
Iter()
All
会在一个从开头就为空的迭代器上调用Next
,显然会导致超时。
Iter
返回一个迭代器,它将被丢弃。没有拨打Next
,没有超时。