访问MongoDB中的嵌套条目

2024-10-01 07:50:50 发布

您现在位置:Python中文网/ 问答频道 /正文

在MongoDB中,我通过Python脚本插入了以下关于夏季柠檬水价格变化的条目:

{
    "_id" : ObjectId('ffffffffffffffffff'),
    "Drink" : "Lemonade"
    "Prices per dates" : [
        {
            "Date" : "02-22-2017",
            "Price" : "5.00"
        },
        {
            "Date" : "02-21-2017",
            "Price" : "6.00"
        },            
        {
            "Date" : "02-20-2017",
            "Price" : "7.00"
        }
     ]
}

我只想提取价格并打印:

5.00 6.00 7.00

我在看这篇关于StackOverflow的帖子:Accessing Nested Objects in MongoDB

难道不能做我想做的事吗?还是我误解了这个问题的答案?在

但是,如果有可能做到这一点,我该怎么做呢?还有没有更好的方式来格式化我的数据库,使我的工作更容易?很抱歉,如果这是一个非常基本的问题,我最近开始学习如何处理这些问题。在


Tags: 脚本iddatemongodb条目价格priceprices
2条回答

正如链接的答案所说,MongoDB将始终返回完整的文档,但您可以轻松地从中提取价格:

prices = [p["Price"] for p in doc["Prices per dates"]]

其中doc是从数据库返回的dict。在

上面的答案奏效了。作为将来参考,这是我的最终解决方案:

for i in [p["Price"] for p in collection.find_one({"Drink":"Lemonade"}["Prices per dates"]]:
    print i

输出:

^{pr2}$

相关问题 更多 >