繁体   English   中英

使用 MongoDB python 从 JSON 数据中获取特定值

[英]Get a specific value from JSON data using MongoDB python

我正在尝试从嵌套的 JSON object 中获取特定值。 我尝试了以下方法,但在所有情况下,我都从所有嵌套对象中获取了所有特定值。 在这种情况下,我想从一位艺术家那里获得具体价格,id 为:1176704。

collection_name = dbname["Tattooparlor"]

cus_details = collection_name.aggregate([{"$match": {"artists._id": 1176704}}])
print(cus_details)

for r in cus_details:
   print(r)

或者

for r in collection_name.find({"_id": 9392991}, {"artists._id": 1176704}):
   print(r)
   for x in r["artists"]:
       print(x["price"])

在所有情况下,它都会返回 1779、2730、4530 或完整的 object,而我只希望它返回 1779。

我的 JSON object 看起来像这样

JSON 对象

如果您尝试仅限制价格字段 collection_name.find({"_id": 9392991}, {"artists._id": 1176704},{price:1})

你试过这个吗? 您必须找到艺术家的身份证,然后打印出他/她的价格。

for result in collection_name.find({"_id": 9392991}):
    for arr in r["artists"]:
       if arr["_id"] == 1176704:
          print(arr["price"])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM