python - 使用 pymongo 在 MongoDB 中创建具有父子层次结构的数据库

标签 python mongodb pymongo hierarchy

我正在查看 mongo 文档的此页面,因为我找不到任何特定的 pymongo 文档:https://docs.mongodb.com/manual/tutorial/model-tree-structures-with-parent-references/

我可以使用以下命令将文档插入到我的数据库中:

>>> db.categories.insert( { "_id": "MongoDB", "parent": "Databases" } )
'MongoDB'

但是当我到达此部分以使用 .parent 时,它不会被识别并返回错误。

>>> db.categories.find_one( { "_id": "MongoDB" } ).parent
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'dict' object has no attribute 'parent'

我是否错误地遵循了文档的某些部分,或者是否有某种我不知道的具有父子层次结构的方法?谢谢。

最佳答案

db.categories.find_one 返回一个字典,因此您需要使用正确的获取语义:即:

db.categories.find_one( { "_id": "MongoDB" } )["parent"]

可能最好也添加错误检查:

record = db.categories.find_one( { "_id": "MongoDB" } )
if record:
   parent = record["parent"]

在文章中,“父级”是指添加的数据中的父键 - 而不是层次结构中的父节点。

关于python - 使用 pymongo 在 MongoDB 中创建具有父子层次结构的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56791546/

相关文章:

python - 在 Python 中,如何使用交互式命令行(和可视断点?)进行调试

python - 将列表内的整数转换为字符串,然后转换为 python 3.x 中的日期

javascript - 如何使用nodejs驱动程序获取mongodb中的当前操作

node.js - 在 mongoose 模式中使用 geoJSON 并在查询中使用它

python - 使用allowDiskUse时语法无效:True through PyMongo

python - 使用 python 编写 Ev3 窗口代码

python - 应用函数不会替换数据框中的值

node.js - Mongoose 中的 "__v"字段是什么

javascript - 如何将 JS 变量传递给 JSX 文件

python - pymongo 中的 Upsert 和 Multi 标志