Как написать запрос $subtract mongo в go, используя пакет mgo?

Как написать следующий запрос в go с помощью пакета mgo:

a:{$subtract:[variable,'$created']}

Я попытался

date := time.Now()
bson.M{
"a":bson.M{
    "$subtract":bson.M{date,"$created"}
}
}

но bson.M это карта и просит у меня ключи ;(


person Luke    schedule 05.03.2015    source источник
comment
Аргументы для $subract представляют собой массив элементов. Так что просто напишите массив, как обычно в Go.   -  person Neil Lunn    schedule 06.03.2015


Ответы (1)


проблема в том, что массив будет содержать структуру time.Time и string, поэтому это массив смешанного типа... но я думаю, что нашел ответ: Как представить массив со смешанными типами

type list []interface{}
date := time.Now()
sub := list{date, "$created"}
bson.M{
    "a":bson.M{
        "$subtract":sub
    }
}
person Luke    schedule 06.03.2015
comment
Вам не нужно определять тип: bson.M{"a": bson.M{ "$subtract": []interface{}{date, "$created"}}} - person ; 06.03.2015