首页 > 解决方案 > 如何使用 python (pymongo) 将嵌套文档插入到 mongodb

问题描述

我想使用 python/pymongo 将嵌套列表/文档插入到 mongodb 中。我想使用 python 将以下内容插入到 mongodb 中。有人可以帮忙吗?

客户 =

 {
  '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

尝试: conn = MongoClient() print("连接成功!!!") 除外:
print("无法连接到 MongoDB")

数据库

db = conn.database 

创建或切换到集合名称:my_collection

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("使用记录 ID 插入的数据",rec_id1)

打印插入的数据

cursor = collection.find()

for record in cursor: 
    print(record) 

但它显示以下错误:

File "emo.py", line 20
    'home' : {
           ^
syntax error : invalid syntax'

标签: pythonmongodbpymongo-3.x

解决方案


我知道了。我缺少大括号。我在下面进行了更改。

{
 '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'
  }
 }]
}

推荐阅读