查询一个对象列表并从每个(python/pymongo)中只返回一个特定字段

2024-06-02 04:46:31 发布

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

我这里有一份清单:

itemUserList = [
    {"Name": "Lucky Charm", "Amount": 0, "Active?": "No", "Timer": 0},
    {"Name": "Elite User", "Amount": 0, "Active?": "No", "Timer": 0},
    {"Name": "Random Card", "Amount": 0, "Active?": "No", "Timer": 0},
    {"Name": "Luck Booster", "Amount": 0, "Active?": "No", "Timer": 0}
]

我将其添加到MongoDb集合中的一个文档中:

enter image description here

我现在要做的是查询“Items”查询并从每个对象返回“Name”字段和“Amount”字段。有没有一个简单的方法可以做到这一点

我尝试的是:

UserItems = userBase.find_one({"_id": userid})["Items"]
ActualItems = UserItems[0:]["Name"]
print(ActualItems)

如果我使用for循环,并将名称和金额添加到一个列表中,它可能会起作用。但难道没有一个合适的方法吗


1条回答
网友
1楼 · 发布于 2024-06-02 04:46:31

实际上,您需要在列表中循环,以便能够打印所有元素的名称和数量,如下所示:

for item in UserItems:
    print(f"item: {item['Name']}, amount: {item['Amount']}")

相关问题 更多 >