返回顶部
首页 > 资讯 > 数据库 >【MongoDB学习笔记17】MongoDB的查询:find中的数组查询
  • 452
分享到

【MongoDB学习笔记17】MongoDB的查询:find中的数组查询

2024-04-02 19:04:59 452人浏览 薄情痞子
摘要

db.post.find()    { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "i

db.post.find()   
{ "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 30, "sex" : 1, "school" : "marry" }    
{ "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 30, "comments" : [ "test2", "test9", "test5" ], "sex" : 1, "school" : "marry" }    
{ "_id" : ObjectId("54a9700e1b5afd45354fd086"), "id" : 3, "test3" : 3 }    
{ "_id" : ObjectId("54a9701c1b5afd45354fd087"), "id" : 4, "test4" : 4 }    
{ "_id" : ObjectId("54a970281b5afd45354fd088"), "id" : 5, "test5" : 5 }    
{ "_id" : ObjectId("54a970351b5afd45354fd089"), "id" : 6, "test6" : 6 }    
{ "_id" : ObjectId("54a970781b5afd45354fd08a"), "id" : 7, "test7" : 7 }    
{ "_id" : ObjectId("54a970831b5afd45354fd08b"), "id" : 8, "test8" : 8 }    
{ "_id" : ObjectId("54a970901b5afd45354fd08c"), "id" : 9, "test9" : 9 }    
{ "_id" : ObjectId("54a9709c1b5afd45354fd08d"), "id" : 10, "test10" : 10 }    
{ "_id" : ObjectId("54aa8a90652d8bdfa0566d34"), "id" : 11, "test10" : 11 }    
{ "_id" : ObjectId("54aa97b894dcf31069b590ca"), "id" : 12, "fruit" : [ "apple", "banana", "peach" ] }    
{ "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "apple", "kuMQuat", "orange" ] }    
{ "_id" : ObjectId("54aa97f294dcf31069b590cc"), "id" : 14, "fruit" : [ "cherry", "banana", "apple" ] }    
>

   

一、$all来匹配数组中的一组元素

> db.post.find({"fruit":{$all:["apple","banana"]}})   
{ "_id" : ObjectId("54aa97b894dcf31069b590ca"), "id" : 12, "fruit" : [ "apple", "banana", "peach" ] }    
{ "_id" : ObjectId("54aa97f294dcf31069b590cc"), "id" : 14, "fruit" : [ "cherry", "banana", "apple" ] }    
>

 可以看到apple和banana的顺序无关系;

 

二、$size来查询匹配的数组长度;

> db.post.find({},{"id":1,"fruit":1,"_id":0})   
{ "id" : 2 }    
{ "id" : 1 }    
{ "id" : 3 }    
{ "id" : 4 }    
{ "id" : 5 }    
{ "id" : 6 }    
{ "id" : 7 }    
{ "id" : 8 }    
{ "id" : 9 }    
{ "id" : 10 }    
{ "id" : 11 }    
{ "id" : 12, "fruit" : [ "apple", "banana", "peach" ] }    
{ "id" : 13, "fruit" : [ "apple", "kumquat", "orange", "fruit01" ] }    
{  }    
>
> db.post.find({"fruit":{$size:3}})   
{ "_id" : ObjectId("54aa97b894dcf31069b590ca"), "id" : 12, "fruit" : [ "apple", "banana", "peach" ] }    
>

三、$slice操作符

> db.post.find({"id":13})   
{ "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "apple", "kumquat", "orange", "fruit01" ] }    
>

   

返回数组前两个值  

> db.post.find({"id":13},{"fruit":{$slice:2}})    
{ "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "apple", "kumquat" ] }    
>

 
返回数组的后两个值

> db.post.find({"id":13},{"fruit":{$slice:-2}})   
{ "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "orange", "fruit01" ] }    
>

返回数组中间的两个值

> db.post.find({"id":13},{"fruit":{$slice:[1,2]}})   
{ "_id" : ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "kumquat", "orange" ] }

四、利用数组下表查询

> db.post.find({"fruit.3":"fruit01"})
{ "_id" : 
ObjectId("54aa97d794dcf31069b590cb"), "id" : 13, "fruit" : [ "apple", "kumquat", 
"orange", "fruit01" ] }
>



您可能感兴趣的文档:

--结束END--

本文标题: 【MongoDB学习笔记17】MongoDB的查询:find中的数组查询

本文链接: https://lsjlt.com/news/35422.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【MongoDB学习笔记17】MongoDB的查询:find中的数组查询
    db.post.find()    { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "i...
    99+
    2024-04-02
  • 【MongoDB学习笔记18】MongoDB的查询:find查询内嵌文档
    查询内嵌文档和查询普通文档完全相同;例如:> db.post.find()    { "_id" : ObjectId("54ac...
    99+
    2024-04-02
  • 【MongoDB学习笔记14】MongoDB的查询:find基础
    MongoDB中使用find来进行查询,返回一个集合中的文档的子集;返回文档集合blog中的所有文档:> db.post.find()    { "_...
    99+
    2024-04-02
  • 【MongoDB学习笔记16】MongoDB的查询:find中的正则表达式
    MongoDB中find查询使用Perl兼容的正则表达式perl中正则表达式简述:http://www.chinaunix.net/old_jh/25/159388.html 示例:>&nb...
    99+
    2024-04-02
  • 【MongoDB学习笔记19】MongoDB的游标和查询选项
    MongoDB使用游标来处理find查询到的结果文档集;游标的使用实例:> var cursor=db.post.find({"name.firstname":"joe"})&nb...
    99+
    2024-04-02
  • MongoDB笔记四——查询操作
    1、指定返回键...
    99+
    2024-04-02
  • 学习笔记:MYSQL查询
    前言:之前花费两天晚上看了一遍Mysql必知必会,没想到后面效果太差。不如跟着网课视频敲一遍和完成练习题目(练习题没写注释就不记录了),再记下笔记。 一、基本的查询select语句 语法: select 查询列表 from 表名...
    99+
    2015-12-27
    学习笔记:MYSQL查询
  • MongoDB的查询
        MongoDB使用find来查询,不指定任何参数说明是对整个集合的文档查询。find查询    指定返回的键 ...
    99+
    2024-04-02
  • MongoDB之数据查询(数组)
    首先在MongoDB里面是支持数组保存的,一旦支持了数组保存,就需要针对于数组的数据进行匹配。 范例:保存一部分数组内容 db.emp.insert({"name":"刘A","sex":"男","age...
    99+
    2024-04-02
  • MongoDB中怎么使用查询find方法
    这篇文章主要介绍MongoDB中怎么使用查询find方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mongodb中查询方法find是一个很好的方法,find方法满足多个条件,会返回所有符合条件的对象。我们根据字段...
    99+
    2023-06-14
  • 【MongoDB学习笔记23】MongoDB的索引对象和数组
    MongoDB允许深入文档内部,对嵌套字段和数组建立索引;嵌套对象和数组字段可以和复合索引中的顶级字段一起使用,多数情况下与“正常”索引字段的行为也是一致的。 一、索引嵌套文档例如,集合中的文档如...
    99+
    2024-04-02
  • MongoDB中怎么查询数组下标
    这篇文章将为大家详细讲解有关MongoDB中怎么查询数组下标,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  Mongodb的集合b中,保存了姓名...
    99+
    2024-04-02
  • 【MongoDB学习笔记20】MongoDB的索引
    MongoDB的索引和关系型数据库的索引概念和功能是相同的:(1)不使用索引的搜索可以称为全表扫面,也就是说,服务器必须找完整个表才能查询整个结果;(2)建立索引后搜索,查询在索引中搜索,在索引的条目中找到...
    99+
    2024-04-02
  • MongoDB中查询(find操作符)详细指南
    1. 概述 在本教程中,我们将着眼于执行搜索操作以在MongoDB中检索文档。MongoDB 提供了一个find操作符来从集合中查询文档。find运算符的主要目的是根据查询条件从集合中选择文档,并将光标返回到所选文档。 ...
    99+
    2023-04-21
    mongodb查询find mongodb查询命令 mongodb find
  • 【MongoDB学习笔记24】MongoDB的explain和hint函数
    一、explain函数explain函数可以提供大量查询相关的信息,如果是慢查询,它最重要的诊断工具。例如:在有索引的字段上查询:> db.post.find({"loc.city":"ny...
    99+
    2024-04-02
  • 【MongoDB学习笔记27】MongoDB的TTL索引
    TTL索引(time-to-live index)允许为每一个文档设置一个超时时间,文档超过这个时间就会被删除。在ensureIndex中指定expireAfterSecs选项就可以创建一个TTL索引:&g...
    99+
    2024-04-02
  • MongoDB如何查询数组里面的元素
    在MongoDB中,可以使用以下方式查询数组中的元素:1. 精确匹配:使用$elemMatch运算符来匹配数组中包含指定元素的文档。...
    99+
    2023-08-23
    MongoDB
  • 【MongoDB学习笔记21】MongoDB的复合索引
    索引的值是按照一定顺序排列的,因此使用索引键对文档进行搜索排序比较快;但是只有首先使用索引进行排序时,索引才有用;例如下面的排序里,“username”上的索引就没有起作用:> db.use...
    99+
    2024-04-02
  • 【MongoDB学习笔记22】MongoDB的索引管理
    使用ensureIndex函数创建集合的索引。对集合而言,每个索引只需要创建一次,重复创建没有任何作用;> show collections    s...
    99+
    2024-04-02
  • 【MongoDB学习笔记25】MongoDB的索引类型
    创建索引可以指定一些选项,使用不同的选项建立的索引会有不同的行为。 一、唯一索引唯一索引可以确保每一个文档的指定键都有唯一的值。例如,想确定文档中的username键不重复,创建一个唯一索引:&g...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作