Я использую mongodb в качестве базы данных.Я могу запросить базу данных из командной строки, используя команду
db.nfinstances.distinct("ipv4Addresses",{"nfType":"AMF", "amfInfo.amfSetId": "3fa85f64-5717-4562-b3fc-2c963f66af33"})
, и это дает мне вывод IP-адреса [xxxx], который я хочу.
Однако, если я выполняю запрос с использованием запроса golang
var SliceIP []NfInstance
db.C(COLLECTION).Find(bson.M{
"nfType": "AMF",
"amfInfo.amfSetId": "3fa85f64-5717-4562-b3fc-2c963f66af33"}
).Distinct("ipv4Addresses", &SliceIP)
, я получаю пустой массив вместо строки IP-адреса в массиве.В базе данных у меня есть документ json как
{
"nfinstanceID": "3fa85f64-5717-4562-b3fc-2c963f66af33",
"nfType": [
"AMF"
],
"nfStatus": [
"REGISTERED"
],
"sNssais": [
{
"sst": 1,
"sd": "sd1"
}
],
"nsiList": [
"string"
],
"ipv4Addresses": [
"198.51.100.300"
],
"allowedNssais": [
{
"sst": 1,
"sd": "sd1"
}
],
"amfInfo": {
"amfSetId": "3fa85f64-5717-4562-b3fc-2c963f66af33",
"taiList": [
{
"plmnId": {
"mcc": "244",
"mnc": "38"
},
"tac": "string"
}
],
"n2InterfaceAmfInfo": {
"ipv4EndpointAddress": [
"198.51.100.105"
]
}
}
}
Запрос командной строки Mongodb выглядит следующим образом
> db.nfinstances.distinct("ipv4Addresses",{"nfType":"AMF", "amfInfo.amfSetId": "3fa85f64-5717-4562-b3fc-2c963f66af33"})
mongodb Output:
[ "198.51.100.300" ]
Тот же вывод, который я ожидаю, используя bson.M
Кто-нибудь может помочь найти проблему?