On Tue, Feb 19, 2019 at 9:09 AM <afriyie.abra...@gmail.com> wrote: > > Hi, > > I have a json data in mongodb in the format be bellow, i need help to access > the data using > the "nfinstanceID" which is a uuid string ID part of an api request for > example example > > "http://localhost:5050/nnrf-nfm/v1/nf-instances/3fa85f64-5717-4562-b3fc-2c963f66afaa" > > The api route is of the form > ""......./nnrf-nfm/v1/nf-instances/{nfinstanceID}" > > instead of using "bson.ObjectId". My struct is in the format > > > type NfInstance struct { > ID bson.ObjectId `bson:"_id" json:"id"` > ValidityPeriod int `json:"validityPeriod" bson:"validityPeriod"` > NfInstanceID string `json:"nfinstanceID" bson:"nfinstanceID"` > SNssais []Snssai `json:"sNssais" bson:"sNssais"` > NfServices []Service `json:"nfServices" bson:"nfServices"` > ....... > } > > type Service struct { > ServiceInstanceID string `json:"serviceInstanceId" > bson:"serviceInstanceId"` > Versions []Version `json:"versions" bson:"versions"` > } > > type Version struct { > APIVersionInURI string `json:"apiVersionInUri" bson:"apiVersionInUri"` > ....... > } > > type Snssai struct { > Sst int32 `json:"sst"` > ..... > } > > // Fuctions are > > // Find a instance by its id > func (m *NfInstanceDataAccess) FindById(id string) (NfInstance, error) { > var nfinstance NfInstance > err := db.C(COLLECTION).FindId(bson.ObjectIdHex(id)).One(&nfinstance) > return nfinstance, err > > } > > // Handler function > func NfInstancebyIdGet(w http.ResponseWriter, r *http.Request) { > > vars := mux.Vars(r) > id := vars["nfinstanceID"] > > nfinstance, err := da.FindById(id) > if err != nil { > respondWithError(w, http.StatusBadRequest, "Invalid nfinstance ID") > return > } > > respondWithJson(w, http.StatusOK, nfinstance) > } > > Using this functions work but i would like to access the data not using > bson.ObjectId but rather "nfinstanceID" part. > Completely new to golang.
Your question is not about golang, but about how to use mongodb. I suggest you read the mongodb driver docs. You have to search the database using the correct field, not the object id: db.C(COLLECTION).Find(bson.M{"nfInstanceID":instanceId}) > Thanks in advance!! > > Abraham > > > { > "id": "5c6c238dfdde24520f7b1b69", > "validityPeriod": 1, > "nfinstanceID": "3fa85f64-5717-4562-b3fc-2c963f66afaa", > "heartBeatTimer": 0, > "nfType": "string", > "nfStatus": [ > "REGISTERED" > ], > "sNssais": [ > { > "sst": 0, > "sd": "string" > } > ], > "nsiList": [ > "string" > ], > "nfServices": [ > { > "serviceInstanceId": "string", > "versions": [ > { > "apiVersionInUri": "http://{apiRoot}/v1/xxx", > "apiFullVersion": "string", > "expiry": "2019-02-03T14:08:56.65+02:00" > } > ] > } > ] > } > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.