Я хочу вставить вложенные списки/документы в mongodb с помощью python/pymongo. Я хочу вставить следующее в mongodb, используя python. может ли кто-нибудь помочь?
клиент =
{
'first_name' : 'Arnold',
'last_name' : 'Pettibone',
'addresses': [
'home' : {
'street' : '1234 fake street',
'city' : 'Anytown',
'state' : 'OH',
'zip' : '12345'
},
'work' : {
'street' : '742 Evergreen Terrace',
'city' : 'Springfield',
'state' : 'OH',
'zip': '12345'
}
]
}
Я пробовал себя. код выглядит следующим образом.
от импорта pymongo MongoClient
try: conn = MongoClient() print ("Подключено успешно !!!"), за исключением:
print ("Не удалось подключиться к MongoDB")
db = conn.database
collection = db.my_collection
customer = {
'first_name' : 'Arnold',
'last_name' : 'Petti',
'addresses': [
'home' : {
'street' : '1234 fake street',
'city' : 'Anytown',
'state' : 'OH',
'zip' : '12345'
},
'work' : {
'street' : '742 Evergreen Terrace',
'city' : 'Springfield',
'state' : 'OH',
'zip': '12345'
}
]
}
rec_id1 = collection.insert(customer)
print ("Данные, вставленные с идентификаторами записи", rec_id1)
cursor = collection.find()
for record in cursor:
print(record)
но он показывает следующую ошибку:
File "emo.py", line 20
'home' : {
^
syntax error : invalid syntax'
Я понял. Мне не хватало брекетов. Я внес изменения ниже.
{
'first_name' : 'Arnold',
'last_name' : 'Pettibone',
'addresses': [{
'home' : {
'street' : '1234 fake street',
'city' : 'Anytown',
'state' : 'OH',
'zip' : '12345'
},
'work' : {
'street' : '742 Evergreen Terrace',
'city' : 'Springfield',
'state' : 'OH',
'zip': '12345'
}
}]
}
MongoDB является нереляционной базой данных, вы можете хранить документ с любой схемой в формате JSON.
conn = pymongo.MongoClient('localhost') # replace localhost with the real address
db = conn['db_name']
db['collection_name'].insert_one({'x': 1}) # replace {'x': 1} with 'customer'