数据格式:pymongo数组插入

问题描述 投票:0回答:1

我有一个想要存放在mongodb中的物体。使用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 insert上的终端错误:enter image description here

python formatting pymongo
1个回答
0
投票

您需要将array转换为python builtin list类型:

obj_to_insert = {
    'field1': [list(arr) for arr in obj['field1']],
    'field2': list(obj['field2'])    
}
© www.soinside.com 2019 - 2024. All rights reserved.