Pymongo - Сохранение файлов JSON [дубликат]

def flatten(l, a):
    for i in l:
        if isinstance(i, list):
            flatten(i, a)
        else:
            a.append(i)
    return a

print(flatten([[[1, [1,1, [3, [4,5,]]]], 2, 3], [4, 5],6], []))

# [1, 1, 1, 3, 4, 5, 2, 3, 4, 5, 6]
5
задан helpmelearn 24 April 2012 в 06:54
поделиться

2 ответа

Что value в вашем исходном коде?

Это должно быть dict не экземпляр класса

Это должно работать:

postings.insert(posting.__dict__)
10
ответ дан San4ez 28 August 2018 в 01:21
поделиться

Вы неправильно используете метод вставки для коллекции. Просмотрите здесь: http://api.mongodb.org/python/current/api/pymongo/collection.html#pymongo.collection.Collection.insert

Что вам нужно вставка - это документ. Это должен быть ключ с ключами и значениями. Просто попытка вставить строку не подходит. json.dumps возвращает строку в формате json. Если вы просто сбрасываете его, чтобы получить dict, то шаг json не нужен.

Вставьте именно то, как должны выглядеть ваши документы:

postings.insert ({"key": "value"})

Или преобразуйте экземпляр класса непосредственно в dict, который вы хотите сохранить в качестве документа, а затем вставьте его. Он работает с вашим json.dumps.loads (), потому что это в конечном итоге дает вам dict.

2
ответ дан jdi 28 August 2018 в 01:21
поделиться
Другие вопросы по тегам:

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