bson.errors.InvalidDocument:无法编码对象:ec2.Image()

时间:2018-01-08 21:25:30

标签: python mongodb mongoose nosql pymongo

当我尝试插入以下文档时:

 aws_data = {u'ami_launch_index': 0,
             u'image': ec2.Image(id='xxx')
            }

我收到以下错误:

bson.errors.InvalidDocument: Cannot encode object: ec2.Image(id='xxx')

MongoDB无法编码ec2.Image(id='ami-xxx')

我该如何解决?

1 个答案:

答案 0 :(得分:0)

将图片ID直接存储到MongoDB。我会建议序列化但它没有意义。使用image id,您始终可以执行其他ec2 API操作。

aws_data = {
    'ami_launch_index': 0,
    'image': 'xxx'
}

您不能将任何对象插入到集合中。支持的数据类型包括:

  • INT
  • 字典
  • 列表
  • 元组
  • STR
  • BOOL
  • 日期时间
  • UUID
  • 映射
  • 字节
  • 的ObjectId
  • 正则表达式
  • 时间戳
  • DBREF
  • RawBSONDocument
  • MinKey
  • MaxKey
  • 的unicode

https://github.com/mongodb/mongo-python-driver/blob/3.6.0/bson/_cbsonmodule.c#L693