func (p *mgoPersistenceProvider) loadVersionsByAPI(apiVersion string, graph *cayley.Handle, session *mgo.Session, target common.IServiceRegistry) error { var startingNodeID = utils.CreateAPIVersionKey(apiVersion) var path = cayley.StartPath(graph, startingNodeID).Out(utils.ContainsVersionRel) it := path.BuildIterator() for cayley.RawNext(it) { var version serviceVersion err := session.DB("test").C("serviceVersions").Find(bson.M{"_id": graph.NameOf(it.Result())}).One(&version) if err != nil { return err } target.LinkServiceToAPI(version.Service, version.Version, apiVersion) } return nil }