Создание базы данных с родительской дочерней иерархией в MongoDB с использованием pymongo - PullRequest
1 голос
/ 27 июня 2019

Я просматривал эту страницу документации по монго, так как не смог найти никакой конкретной документации по пимонго: 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'

Есть ли какая-то часть документации, которой я неправильно следую, или какой-то метод, имеющий родительскую дочернюю иерархию, о которой я не знаю? Благодаря.

1 Ответ

0 голосов
/ 27 июня 2019

db.categories.find_one возвращает dict, поэтому вам нужно использовать правильную семантику get: т.е.:

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

вероятно, лучше всего добавить проверку ошибок:

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

В статье «родитель» относится к родительскому ключу в добавленных данных, а не к родительскому узлу в иерархической структуре.

...