2017-02-22 5 views
1

Я создал ионное приложение, и в настоящее время я застреваю, пытаясь извлечь массив из MongoDB через Go. Вот как выглядит данные в MongoDB.Пустой массив возвращается

{ 
"_id": { 
    "$oid": "58a86fc7ad0457629d64f569" 
}, 
"name": "ewds", 
"username": "[email protected]", 
"password": "vdseaff", 
"email": "fawfef", 
"usertype": "Coaches", 
"Requests": [ 
    "[email protected]" 
] 
} 

я в настоящее время пытается вернуться на поле запросов один из способов, которыми я пытался пытался получить весь документ, используя следующий код.

//this is the struct being used. 
type (
User struct { 
    Name  string 
    Username string 
    Password string 
    Email string 
    UserType string 
    Requests []string 
} 
) 
results := User{} 
err = u.Find(bson.M{"username": Cname}).One(&results) 

Это возвращает только пустой массив.

{ewds [email protected] vdseaff fawfef Coaches []} 
+1

Обновите вопрос, чтобы показать определение 'results'. –

+0

Есть ошибки? – JimB

+0

Ошибка. Его предназначение - вернуть массив не пустой массив. – Racket

ответ

1

В ваших данных Requests поля имеет капитал R. bson библиотека, которая преобразует документ Монго к вашему типу структуры имеет это сказать

https://godoc.org/gopkg.in/mgo.v2/bson#Unmarshal

строчное имя поля используются в качестве ключа для каждого экспортируемого поля, но это поведение может быть изменено с помощью соответствующего тег поля.

Так что ваши варианты либо добавить тег на Requests поле или изменить свои данные для использования в нижнем регистре requests. Если вы выберете вариант тега, это будет

Requests []string `bson:"Requests"` 
+0

Большое вам спасибо. – Racket

Смежные вопросы