Hi, I have been trying to create a dynamic mongodb query using golang interface but the logical $or does not work. It only return a documents when the input matches the bson.M{"sNssais.sst": args[0].(int32), "sNssais.sd": args[1].(string)}. other matches like bson.M{"amfInfo.taiList.tac": args}, etc does not work even though a document in mongodb collection exist that matches the input value. Any idea as how to do this? The function is as below
func (m *NfInstanceDataAccess) FindIp(preferredNfInstances string, args ...interface{}) ([]model.NfProfile, bool) { var ip []model.NfProfile pipeline := bson.M{ "nfType": preferredNfInstances, "$or": []interface{}{ bson.M{"sNssais.sst": args[0].(int32), "sNssais.sd": args[1].(string)}, bson.M{"amfInfo.taiList.tac": args}, bson.M{"smfInfo.taiList.tac": args}, bson.M{"upfInfo.taiList.tac": args}, }, } filter := bson.M{"ipv4Addresses": true} err := db.C(COLLECTION).Find(pipeline).Select(filter).All(&ip) if err != nil { return ip, false } return ip, true } -- 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. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/c2dca0c6-e3f7-4822-9b7f-b09102450293%40googlegroups.com.