@ff3446r3e

Как работать с полученным документом из MongoDB с помощью Go?

Получаю документ с помощью FindOne()
Так он выглядят в go:
map[
    _id:ObjectID("12") 
    chatID:12 
    expenses:[
    map[amount:12 category:food] 
    map[ ​amount:14 category:food]] 
   ​income:[]]

Так в Atlas:
{"_id":{"$oid":"12"},
"chatID":{"$numberInt":"12"},
"expenses":[
   ​{"category":"food","amount":{"$numberDouble":"12.0"}},
   ​{"category":"food","amount":{"$numberDouble":"14.0"}}],
"income":[]}

Как я могу, например, вывести категорию и сумму трат или любую другую строку по отдельности?
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
@gill-sama
type Expense  struct {
Category  string  `bson:"category"`
Amount   float    `bson:""amount"`
}
type MyDoc struct {
ID           primitive.ObjectID `bson:"_id, omitempty"`
ChatID       int                      `bson:"chatID"`
Expenses     []Expense              `bson:"expense"`
Income       []int(тип какой хотите) `bson:"income"`

myDoc = MyDoc{}
err = mongo.FindOne(context.TODO(),  {}).Decode(&myDoc)  
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы