如何在 Python 中解压嵌套的 DBRef?
Posted
技术标签:
【中文标题】如何在 Python 中解压嵌套的 DBRef?【英文标题】:How to unpack nested DBRef in Python? 【发布时间】:2021-06-01 08:35:09 【问题描述】:如何解压嵌套的 DBRefs?
我已经检查了 mongodb documentation,但我仍然不太明白如何解压括号内的字母数字值。
d =
"oId" : 567,
"notice" : [
DBRef("noticeId", ObjectId("5f45177b93d7b757bcbd2d55"))
]
预期输出:
oId notice
567 5f45177b93d7b757bcbd2d55
【问题讨论】:
您可以使用dir()
找出对象具有的属性! DBRef
可能有一些你可以获得的 id 属性(反过来,在ObjectId
上调用str()
可能会很方便)
【参考方案1】:
您需要DBRef
对象的id
属性。 Documentation
import pandas as pd
from bson.json_util import DBRef, ObjectId
d =
"oId": 567,
"notice": [
DBRef("noticeId", ObjectId("5f45177b93d7b757bcbd2d55"))
]
data = 'oId': [d.get('oId')], 'notice': [str(d.get('notice')[0].id)]
df = pd.DataFrame.from_dict(data)
print(df)
给予:
oId notice
0 567 5f45177b93d7b757bcbd2d55
【讨论】:
有没有办法将其实际转换为数据框,而不仅仅是检索值?以上是关于如何在 Python 中解压嵌套的 DBRef?的主要内容,如果未能解决你的问题,请参考以下文章