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

MongoDB查询技巧

1.1查询返回指定的键:--先查询全部的键如下:db.person.find(){_id:ObjectId(4f508eeff536645151bca18c),age:1}{_id:ObjectId(4f508e7bf536645151bca18a),name:tangke,age:21}。--再查询返回指定的键如下:

1.1查询返回指定的键:

--先查询全部的键如下:

> db.person.find()
{ "_id" : ObjectId("4f508eeff536645151bca18c"), "age" : 1 }
{ "_id" : ObjectId("4f508e7bf536645151bca18a"), "name" : "tangke", "age" : 21 }。

--再查询返回指定的键如下:

> db.person.find({},{"age":1})
{ "_id" : ObjectId("4f508eeff536645151bca18c"), "age" : 1 }
{ "_id" : ObjectId("4f508e7bf536645151bca18a"), "age" : 21 }。

以上需要解释的是:第一个参数是要指定查询的范围,第二个参数是要找到的键并按升序进行排列。

--还有一个小技巧:你如果不想返回这个_id,你可以这样做:

> db.person.find({},{"age":1,"_id":0})
{ "age" : 1 }
{ "age" : 21 }。

1.2mongodb中的查询符号:

$lt,$lte,$gt,$gte,$ne:这几个符号的意思不用解释了吧,用过html语言的人都知道。

另外还有$in,$nin,$or也不解释,你懂的。

1.3用正则表达式匹配查询条件:(这个我很喜欢,因为我学过perl,里面的正则表达式,很漂亮)

--没有使用正则式的查询

> db.person.find()
{ "_id" : ObjectId("4f508eeff536645151bca18c"), "age" : 1 }
{ "_id" : ObjectId("4f508e7bf536645151bca18a"), "name" : "tangke", "age" : 21 }

--使用正则表达式查出以name以t开头的文档并且不分大小写:

> db.person.find({"name":/^t*/i})
{ "_id" : ObjectId("4f508e7bf536645151bca18a"), "name" : "tangke", "age" : 21 }
---注:/^t/i,   表示以t字母开头,并且不分大小写的字符串。

1.4查询数组:

$all的用法:

现在数据库中有如下的数据:

> db.fruit.find()
{ "_id" : ObjectId("4f546dadcf486e7efbd41fcc"), "fruit" : [ "apple", "banana", "
orange" ] }
{ "_id" : ObjectId("4f546dd1cf486e7efbd41fcd"), "fruit" : [ "apple", "peach", "b
anana" ] };

--现在用$all进行查询,查出同时包括apple,peach的文档。

> db.fruit.find({"fruit":{"$all":["apple","peach"]}})
{ "_id" : ObjectId("4f546dd1cf486e7efbd41fcd"), "fruit" : [ "apple", "peach", "b
anana" ] };

$size: 用来查询符合长度符合的数组。

$slice:返回多少条键的记录;

$slice也可以用来查询指定偏移量的数据:

--上面的语句表达的意思是跳过前二十三条数据,然后查询十条数据。


推荐阅读
  • Python3爬虫入门:pyspider的基本使用[python爬虫入门]
    Python学习网有大量免费的Python入门教程,欢迎大家来学习。本文主要通过爬取去哪儿网的旅游攻略来给大家介绍pyspid ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • MongoDB核心概念详解
    本文介绍了NoSQL数据库的概念及其应用场景,重点解析了MongoDB的基本特性、数据结构以及常用操作。MongoDB是一个高性能、高可用且易于扩展的文档数据库系统。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 本指南介绍了 `requests` 库的基本使用方法,详细解释了其七个主要函数。其中,`requests.request()` 是构建请求的基础方法,支持其他高级功能的实现。此外,我们还重点介绍了如何使用 `requests.get()` 方法来获取 HTML 网页内容,这是进行网页数据抓取和解析的重要步骤。通过这些基础方法,读者可以轻松上手并掌握网页数据抓取的核心技巧。 ... [详细]
  • Oracle字符集详解:图表解析与中文乱码解决方案
    本文详细解析了 Oracle 数据库中的字符集机制,通过图表展示了不同字符集之间的转换过程,并针对中文乱码问题提供了有效的解决方案。文章深入探讨了字符集配置、数据迁移和兼容性问题,为数据库管理员和开发人员提供了实用的参考和指导。 ... [详细]
  • MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案
    MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案 ... [详细]
  • MongoVUE基础操作指南:轻松上手数据库管理
    本文介绍了MongoVUE的基础操作,旨在帮助用户轻松掌握数据库管理技巧。MongoVUE是一款功能强大的MongoDB客户端工具,虽然需要注册,但其用户友好的界面和丰富的功能使其成为许多开发者的首选。文中详细解释了安装步骤、基本配置以及常见操作方法,并对一些常见的问题进行了修正和补充,确保用户能够快速上手并高效使用MongoVUE进行数据库管理。 ... [详细]
  • MongoDB 默认使用哪个端口?—— MongoDB 教程详解
    MongoDB 在默认配置下监听的端口是 27017,用户在连接数据库时通常会使用此端口进行各种操作,包括数据插入、查询和更新等。除了 27017 端口外,MongoDB 还支持其他配置选项,以满足不同的应用场景和安全需求。 ... [详细]
  • 利用Python与Android进行高效移动应用开发
    通过结合Python和Android,可以实现高效的移动应用开发。首先,需要安装Scripting Layer for Android (SL4A),这是一个开源项目,旨在为Android系统提供脚本语言支持。SL4A不仅简化了开发流程,还允许开发者使用Python等高级语言编写脚本,从而提高开发效率和代码可维护性。此外,SL4A还支持多种其他脚本语言,进一步扩展了其应用范围。通过这种方式,开发者可以快速构建功能丰富的移动应用,同时保持较高的灵活性和可扩展性。 ... [详细]
  • 本文详细介绍了如何在 Django 项目中使用 Admin 管理后台,包括创建超级用户、启动项目、管理数据模型和修改用户密码等步骤。 ... [详细]
author-avatar
mobiledu2502895417
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有