我有一个包含一些文档的ArangoDB集合。我需要其中之一,添加或更新一些数据,并保存它。
要获取文档,我在Document实例上使用_key字段:
doc = collection[key]然后,使用dict数据进行更新:
for k, v in data.items():
doc[k] = v最后,我保存了它
doc.save()不幸的是,有些int被转换为string
只是在拯救之前:

当我用doc2 = collection[key]重新加载它时

据我所见,在保存之前,我可以将所有的int转换成float,但这有点麻烦。
我做错了什么?
发布于 2022-02-14 14:13:36
事实证明,有些int实际上是numpy.int64和pyarango把它们作为string处理的
我简单的int(value) if isinstance(value, np.int64) else value修复了这个问题(在我的例子中,使用this answer递归调用)。
https://stackoverflow.com/questions/71109483
复制相似问题