如何在 Python 中解压嵌套的 DBRef?

How to unpack nested DBRef in Python?

如何解压嵌套的 DBRef?

我检查了 mongodb documentation 但我还是不太明白如何解包括号内的字母数字值。

d = { 
    "oId" : 567, 
    "notice" : [
        DBRef("noticeId", ObjectId("5f45177b93d7b757bcbd2d55"))
    ]
}

预期输出:

oId                   notice
567 5f45177b93d7b757bcbd2d55

您需要 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