从MongoDB对象中检索嵌入值(使用CherryPy框架)

时间:2016-12-31 15:11:20

标签: python mongodb cherrypy

我在MongoDB中插入了以下文档:

@cherrypyexpose
def create(self):
    client = MongoClient()
    db = client.database_name        
    result = db.users.insert_one({
        "email": "email@email.com",
        "company": {
            "name": "ABC Company"
        }
     })

我现在想要检索company.name,这是" ABC公司"。

@cherrypy.expose
def result(self):
    client = MongoClient()
    db = client.database_name        
    cursor = db.users.find({"email":"email@email.com"})
    for document in cursor:
        value = document["company.name"]
    return value

我尝试使用以下语法检索此值" company.name"正如我在关系数据库中所做的那样但我收到此错误:"KeyError: 'company.name'"

检索" company.name"的正确语法是什么?在Mongo?

1 个答案:

答案 0 :(得分:1)

该mongo文档作为标准嵌套python字典返回。所以:

value = document["company.name"]

应该是

value = document["company"]["name"]