我想执行从MongoDB服务器返回一些数据的查询,但是当数据量变大时,我从c.Find().All()查询中得到"EOF"错误.
基本上我有:
activeData := []DataEntry{}
activeDataQuery := bson.M{"data.active": true}
err := sigdb.Find(activeDataQuery).All(&activeData)
Run Code Online (Sandbox Code Playgroud)
这适用于大约50,000件物品的小型测试,但是当我尝试我的完整数据集(超过一百万件)时,它会返回"EOF",尽管有数据需要查询.
可能是什么导致了这个?我在使用Go 1.3运行Ubuntu 14.04的笔记本电脑上运行Go程序和MongoDB服务器.
编辑:经过进一步的试验,我也得到:"从同一个查询中写入tcp 127.0.0.1:27017:broken pipe".