Pymongo 无法为设置参数编码对象

Pymongo cannot encode object for a set argument

我正在抓取网站并使用 pymongo 保存到 mongodb。

抓取器所做的是将每个产品添加到一个数组中,当没有更多产品时,它将该数组保存到 mongodb。

一个产品看起来像这样:

product = {
        'title': title,
        'url': url,
        'thumbnail': image,
        'reviews': {total_reviews, rating}
    }

pymongo 看起来像这样:

collection.update_one(
    {'_id': 1}, {'$set': {'api.results': productList}})

我得到的错误是:bson.errors.InvalidDocument: cannot encode object: {'4.5', 'N/A'}。我一直在寻找解决方案,但我找到的解决方案仅显示如何查找未更新的项目。我将如何解决这个问题?

{foo, bar}foobar 的集合。

集不能直接存储在 MongoDB 中,您需要将它们转换为 MongoDB 可以理解的类型,例如列表。

如果您想要列表,请使用 [] 括号。

如果需要映射,请指定键 ({foo: foo, bar: bar})。