热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python如何获取集合内嵌套项目的值?

假设我有这个文件:{_id:ObjectId(4e2f2af16f1e7e4c2000000a),location:{geometry:[[123,23.45321

假设我有这个文件:

{
"_id" : ObjectId("4e2f2af16f1e7e4c2000000a"),
"location" : {
"geometry" : [
[ 123, 23.45321 ],
[ 124.55632, 43.256 ]
]
},
"advertisers" : {
"created_at" : ISODate("2011-07-26T21:02:19Z"),
"category" : "Infinity Pro Spin Air Brush",
"updated_at" : ISODate("2011-07-26T21:02:19Z"),
"lowered_name" : "conair",
"twitter_name" : "",
"facebook_page_url" : "",
"website_url" : "",
"user_ids" : [ ],
"blog_url" : ""
}
}

我只是想获取“广告客户”内部的特定值,例如Lowered_name.

查询时,我可以使用以下语法:

db.advertisers.find({"advertisers.lowered_name" : "conair"})

但是,它当然会返回等于查询的文档.我如何才能获得特定值“ conair”.例如,在打印语句中使用它:使用这样的代码将导致错误:

for cursor in results:
print(cursor["advertisers.lowered_name"])

如何才能做到这一点?我尝试搜索,但是我可能在某个地方错过了它?

解决方法:

您无法使用Pymongo使用“点符号”来访问嵌入字段,因为Pymongo使用词典来表示文档.

for item in db.advertisers.find({"advertisers.lowered_name" : "conair"}, {"advertisers.lowered_name": 1}):
print(item["advertisers"]["lowered_name"])

您也可以使用.distinct方法,但请记住,这只会返回唯一的“ lowered_name”列表

for item in db.advertisers.distinct("advertisers.lowered_name", {"advertisers.lowered_name" : "conair"}):
print(item)


推荐阅读
  • 网站秒开算什么,Google
    作为一家活在Web世界的公司,Google对提升网页性能一直是不遗余力。今天,为了让用户能够更快地浏览网页,Google联合8家科技公司以及近30家新闻机构一起发布了一个名为移动页 ... [详细]
  • 本文深入解析了 Apache 配置文件 `httpd.conf` 和 `.htaccess` 的优化方法,探讨了如何通过合理配置提升服务器性能和安全性。文章详细介绍了这两个文件的关键参数及其作用,并提供了实际应用中的最佳实践,帮助读者更好地理解和运用 Apache 配置。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 如何在Java中高效构建WebService
    本文介绍了如何利用XFire框架在Java中高效构建WebService。XFire是一个轻量级、高性能的Java SOAP框架,能够简化WebService的开发流程。通过结合MyEclipse集成开发环境,开发者可以更便捷地进行项目配置和代码编写,从而提高开发效率。此外,文章还详细探讨了XFire的关键特性和最佳实践,为读者提供了实用的参考。 ... [详细]
  • 深入解析JWT的实现与应用
    本文深入探讨了JSON Web Token (JWT) 的实现机制及其应用场景。JWT 是一种基于 RFC 7519 标准的开放性认证协议,用于在各方之间安全地传输信息。文章详细分析了 JWT 的结构、生成和验证过程,并讨论了其在现代 Web 应用中的实际应用案例,为开发者提供了全面的理解和实践指导。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • MySQL:不仅仅是数据库那么简单
    MySQL不仅是一款高效、可靠的数据库管理系统,它还具备丰富的功能和扩展性,支持多种存储引擎,适用于各种应用场景。从简单的网站开发到复杂的企业级应用,MySQL都能提供强大的数据管理和优化能力,满足不同用户的需求。其开源特性也促进了社区的活跃发展,为技术进步提供了持续动力。 ... [详细]
  • ProgressReportNov7-Nov 15 ... [详细]
  • 90.bower解决js的依赖管理
    转自:https:blog.csdn.netu011537073articledetails52951122前言一个新的web项目开始,我们总是很自然地 ... [详细]
  • 42VERSE & 圆圈徽章,Web3 社交的流派之争——针对两个国内案例的调研
    01 行业分析本文所研究的细分赛道为:Web3应用层——社交与内容场景——DID/创新场景(以元宇宙3D空间为 ... [详细]
  • Damus 体验教程分享:功能和用户体验如何?
    Damus是一个基于去中心化社交协议Nostr的、允许用户控制的社交网络,支持加密消息传递、比特币闪电小费等功能,但当前Damus尚处于早期阶段,很多功能亟待完善和优 ... [详细]
  • 起底▍Spring Boot/Cloud背后豪华的研发团队 ——独角兽公司Pivotal
    作者|纯洁的微笑编辑|梅花鹿36大数据已获得授权转载我们刚开始学习SpringBoot的时候肯定都会看到这么一句话:SpringBoot是由Pivotal团队提供的全 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • FIN7后门工具伪装成白帽工具进行传播
    fin7,后门,工具,伪装,成,白, ... [详细]
author-avatar
牛牛的牛66_674
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有