数据格式:pymongo数组插入

时间:2019-04-14 12:12:27

标签: python formatting pymongo

我有一个要存储在mongo中的对象。使用PyMongo。

python中的对象结构:

obj = {
  field1: arrayOfArrays,
  field2: array
}

Mongo插入

mongo.db.vectorPoints.insert_one(obj)

结构arrayOfArrays:

[
  array([0.04234, -0.23523, 0,234....]), 
  array([0.04234, -0.23523, 0,234....]), ...
]

结构数组:

[0.04234, -0.23523, 0,234....]

Mongo insert_one引发有关数据格式的错误:

bson.errors.InvalidDocument: Cannot encode object: array([0.04234, -0.23523, 0,234....

如何格式化“ arrayOfArrays”和“ array”以允许将“ obj”插入到mongo中?

感谢您提供的任何建议。

arrayOfArrays的终端打印: enter image description here

数组的终端打印: enter image description here

mongo插入时出现终端错误: enter image description here

1 个答案:

答案 0 :(得分:0)

您需要将array转换为内置的python list类型:

obj_to_insert = {
    'field1': [list(arr) for arr in obj['field1']],
    'field2': list(obj['field2'])    
}