Результат агрегирования mgo $unwind для неизвестного типа элемента (0x2E)

У меня есть такой агрегированный запрос

$ db.histories.aggregate([{$match:{"issue_id":{$in:ids},"history_comment":{$exists:true,$not:{$size:0}}}},{$unwind:"$history_comment"}])

переводя это на go с помощью mgo

    var h []History
query := []bson.M{
    {"$match": bson.M{
        "issue_id":        bson.M{"$in": IDs},
        "history_comment": bson.M{"$exists": true, "$not": bson.M{"$size": 0}}}},
    {"$unwind": "$history_comment"},

}

err := c.Pipe(query).All(&h)

но я получил err

Unknown element kind (0x2E) как это возможно? мой запрос неправильный?


person Hokutosei    schedule 22.09.2015    source источник
comment
Пока bson пытается декодировать ваши данные, он не может определить тип данных. Ошибка исходит от (d *decoder) функции readElemTo в bazaar.launchpad.net/+branch/mgo/v1/view/head:/bson/ data кажется несовместимым ни с одним из типов bson.   -  person faisal_kk    schedule 23.09.2015


Ответы (1)


Возвращенная ошибка указывает на то, что данные, передаваемые драйверу, имеют неизвестный тип элемента. Глядя на спецификацию BSON, там действительно нет элемента 0x2E:

http://bsonspec.org/spec.html

Если вы считаете, что проблема связана с драйвером, не могли бы вы предоставить дамп ошибочных данных, которые можно загрузить в драйвер, и создать с ним проблему?

Спасибо.

person Gustavo Niemeyer    schedule 14.10.2015