无法使用mgo从mongodb检索数据

无法使用mgo从mongodb检索数据,mongodb,go,mgo,Mongodb,Go,Mgo,关于这个话题我真的很抱歉。我看到很多其他人,但任何东西都可以帮助我解决我的问题 因此,我在后端使用Go+mgo,我必须搜索的结构是: type Video struct { ID bson.ObjectId `bson:"_id,omitempty"` Title string `bson:"title"` Duration string `bson:"duration"` Url

关于这个话题我真的很抱歉。我看到很多其他人,但任何东西都可以帮助我解决我的问题

因此,我在后端使用Go+mgo,我必须搜索的结构是:

type Video struct {
    ID           bson.ObjectId `bson:"_id,omitempty"`
    Title        string        `bson:"title"`
    Duration     string        `bson:"duration"`
    Url          string        `bson:"url"`
    DefaultThumb string        `bson:"defaultthumb"`
    SiteID       SiteProfile   `bson:"siteid"`
}
表视频包含2kk+的信息,首先,我必须从存储在此结构中的他的站点配置文件中选择这些视频:

type SiteProfile struct {
    ID         bson.ObjectId `bson:"_id,omitempty"`
    Name       string        `bson:"name"`
    Site       string        `bson:"site"`
    ExportUrl  string        `bson:"exportUrl"`
    ExportType string        `bson:"exportType"`
}
然后,我执行以下命令,在配置文件循环中获取具有相同配置文件的请求:

    var videos []Video
    collVideos.Find(bson.M{"siteid.name": profile.Name}).All(&videos)
在日志消息中,我得到一个空数组,并使用Robomongo执行相同的操作,即基于节点的操作,我将这些行按它们的站点配置文件列出。那么,有人知道如何检索这些数据,搜索嵌套对象吗


谢谢你的帮助

嗯,这真的很奇怪,但是当我重写代码,验证find方法的错误时,它就起作用了。我只是这样做了:

    var videos []Video
    err := collVideos.Find(bson.M{"siteid.name": profile.Name}).All(&videos)
    CheckError(err)

嗯,这真的很奇怪,但是当我重写代码,验证find方法的错误时,它就工作了。我只是这样做了:

    var videos []Video
    err := collVideos.Find(bson.M{"siteid.name": profile.Name}).All(&videos)
    CheckError(err)

请不要忽略Find返回的错误。@谢谢!我更正了这些代码行,但是没有返回错误!尝试使用这些mgo.SetDebugtrue mgo.SetLoggerlog.Newos.Stdout检查mgo日志,错误,6请不要忽略Find返回的错误。@Jinguid谢谢!我更正了这些代码行,但是没有返回错误!尝试使用以下mgo.SetDebugtrue mgo.SetLoggerlog.Newos.Stdout,err,6检查mgo日志