首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何查询数组大小大于1的文档?

如何查询数组大小大于1的文档?

提问于 2017-12-12 07:39:50
回答 2关注 0查看 1.4K

我有一个MongoDB集合,其格式如下:

代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
  "_id" : ObjectId("4e8ae86d08101908e1000001"),
代码语言:txt
AI代码解释
复制
  "name" : ["Name"],
代码语言:txt
AI代码解释
复制
  "zipcode" : ["2223"]
代码语言:txt
AI代码解释
复制
}
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
  "_id" : ObjectId("4e8ae86d08101908e1000002"),
代码语言:txt
AI代码解释
复制
  "name" : ["Another ", "Name"],
代码语言:txt
AI代码解释
复制
  "zipcode" : ["2224"]
代码语言:txt
AI代码解释
复制
}

我目前可以获得与特定数组大小匹配的文档:

代码语言:txt
复制
代码语言:txt
AI代码解释
复制
db.accommodations.find({ name : { $size : 2 }})

这正确地返回name数组中有2个元素的文档。但是,我不能做一个$gt命令来返回name字段数组大小大于2的所有文档:

db.accommodations.find({ name : { $size: { $gt : 1 } }})

我怎样才能选择所有文件的name数组大小大于1(最好不必修改当前的数据结构)?

回答 2

大叔也犯二

发布于 2017-12-12 07:44:59

在MongoDB 2.2+中有更高效的方法可以在查询对象键中使用数字数组索引。

代码语言:txt
AI代码解释
复制
// Find all docs that have at least a second name array element.
代码语言:txt
AI代码解释
复制
db.accommodations.find({'name.1': {$exists: true}})

爹说的都是真理

发布于 2017-12-12 07:42:33

1.使用$ where

代码语言:txt
AI代码解释
复制
db.accommodations.find({$ where:“this.name.length> 1”});

2.创建额外的字段NamesArrayLength,用名称数组长度更新,然后在查询中使用:

代码语言:txt
AI代码解释
复制
db.accommodations.find({“NamesArrayLength”:{$ gt:1}});

使用第二个办法比较好,运行效率要高很多

和开发者交流更多问题细节吧,去 写回答
相关文章
MongoDB(12)- 查询嵌入文档的数组
查询 instock 数组中包含 { warehouse: "A", qty: 5 } 的所有文档
小菠萝测试笔记
2021/06/10
4.9K1
MongoDB 如何查看文档的大小
如何查看文档的大小?常见是查看集合中平均文档大小,但很少查看单个文档或者特定范围文档的大小甚至查看文档中字段长度大小?通过查看官方文档来解答如上问题,默认返回都是字节为单位(byte),以下整理自官方文档以及jira.
徐靖
2022/08/23
3.9K0
MongoDB查询(数组、内嵌文档和$where)
上篇主要介绍了一些基本的查询条件操作符的使用,主要针对的是一些单值,我们这次来讲讲如何查询文档内的数组和嵌入文档,并讲一下复杂查询"$where"。
Vaccae
2019/07/25
6.3K1
MongoDB查询(数组、内嵌文档和$where)
为什么快照大小会大于df/windows explorer看到的大小?
首先需要明确的一个概念是快照是对云盘块设备级别的一个克隆备份,跟文件系统层面的备份完全是两个概念。举个例子,假如你在制作快照之前删除了一个文件,那么无论多久之后,只要你使用这个快照恢复了数据,理论上你还是可以通过某种方式把这个文件给恢复出来的;而文件系统层面的备份则无法通过任何方式恢复这个已删除的文件了。
barrettwu
2019/03/20
1.1K0
Linux下,删除大于固定大小的文件
显示当前路径下,大于50M的文件。(包含子文件夹内的文件) <span class="hljs-built_in">find</span> ./ -<span class="hljs-built_in">size</span> +<span class="hljs-number">50</span>M 删除当前路径下,大于50M的文件。(包含子文件夹内的文件) <span class="hljs-built_in">find</span> ./ -<span class="hljs-built
十四君
2019/11/23
3.4K0
如何确定 C 语言中数组的大小
但上面的写法还有点不足。如果以后数组 a 的类型变为其它类型,那么 sizeof(int) 这种写法就会出现兼容问题,所以建议下面的写法,
ClearSeve
2022/02/11
2.4K0
mongodb查询的语法(大于,小于,大于或等于,小于或等于等等)
$gt:大于 $lt:小于 $gte:大于或等于 $lte:小于或等于 例子: db.collection.find({ "field" : { $gt: value } } ); // greater than : field > value db.collection.find({ "field" : { $lt: value } } ); // less than : field < value db.collection.find({ "field" : { $gte: value } } ); // greater than or equal to : field >= value db.collection.find({ "field" : { $lte: value } } ); // less than or equal to : field <= value
拓荒者
2019/09/10
8.8K0
Zenlayer合并大河云联的背后:1+1如何大于2?
2019年的情人节,Zenlayer正式宣布与大河云联合并。选择这一天公布消息,并不是巧合,显然双方的合并事宜已酝酿多时。就在这一对“新CP”的诞生为业界带来惊喜的同时,也打响了2019年SD-WAN领域的第一枪。
科技云报道
2022/04/14
1.1K0
Zenlayer合并大河云联的背后:1+1如何大于2?
长度未知的数组大小
malloc 和 calloc都可以被用于申请堆上的空间。 malloc 和 calloc主要有两点不同:
小飞侠xp
2021/04/13
3K0
2021-05-19:给定一个非负数组成的数组,长度一定大于1
2021-05-19:给定一个非负数组成的数组,长度一定大于1,想知道数组中哪两个数&的结果最大。返回这个最大结果。时间复杂度O(N),额外空间复杂度O(1)。
福大大架构师每日一题
2021/05/19
3430
2021-05-19:给定一个非负数组成的数组,长度一定大于1
如何优雅的解决n 1查询!!!
我们在写代码的时候非常忌讳出现n+1次查询,这就意味的你的循环有多少次,就会查询多少次数据库,这是很恐怖的场景。
林老师带你学编程
2019/10/24
1.7K0
CouchDB查询文档
在CouchDB中对文档的查询可以通过_find命令来实现,_find命令也需要使用POST方法请求,提交的数据是一个JSON对象。
kongxx
2020/02/18
1.6K0
如何压缩Word文档大小?这个方法太简单啦!
在工作中经常需要对Word文档进行编辑和修改,编辑的越多,里面的文字和图片就会增加,这样的话在保存的时候就会出现问题,导致Word文档过大,这样不管是在发送的时候,还是在打开文档的时候速度就会比较慢,会影响工作的效率,其实是可以压缩Word文档大小的,那么如何压缩Word文档大小,下面就来给大家分享超级简单的方法哦,让你分分钟搞定Word压缩哦。
高效办公
2019/03/06
26.3K0
如何压缩Word文档大小?这个方法太简单啦!
mongoDB 文档查询
1、文档查询db.users.find()等价于db.users.find( {} ) 2、基于and运算符的多个组合条件可以省略and运算符的多个组合条件可以省略and,直接将条件组合即可 3、对于$and运算符内的条件,用[]括起来,相当于数组形式 4、对于数组查询,可以使用基于下标的方式精确配置特定的元素值 5、对于内嵌文档,可以使用”文档键.内嵌文档键”方式进行访问 6、对于数组内内嵌文档的方式,可以使用”数组名.下标.内嵌文档键”方式访问 7、对于哪些列名需要显示可以通过{ field1: <0|1>, … }来设定 8、本文参考:https://docs.mongodb.com/manual/tutorial/query-documents/
Leshami
2018/08/13
3.3K0
面试题8(如何获得数组大小)
给出语句“int[]array" 声明,并且初始化该数组,则下面哪个表达式会返回数组的大小。请选择正确的答案。 (a) array[].length() (b) array.length() (c) array [].length (d) array.length (e) array[].size() (f) array.size() 考点: 考察求职者对于数组长度的掌握和理解。 出现频率: ★★★★ 【面试题解析】在Java中,每个数组都是对象,并有个length变量 ,来表示该数组的
Java学习
2018/04/13
7340
2021-06-18:已知数组arr,生成一个数组out,out的每个元素必须大于等于1
2021-06-18:已知数组arr,生成一个数组out,out的每个元素必须大于等于1,当arr[cur]>arr[cur-1]时,out[cur]>out[cur-1];当arr[cur]>arr[cur+1]时,out[cur]>out[cur+1]。求最小out的元素之和。比如[2,3,5,5,4],生成数组是[1,2,3,2,1],和是9。
福大大架构师每日一题
2021/06/18
5890
2021-06-18:已知数组arr,生成一个数组out,out的每个元素必须大于等于1
python生成指定大小的测试txt文档
在测试过程中经常遇到文件上传的功能,文件的大小边界值测试一直没有好的解决办法,这里我分享一个创建文件的脚本希望对大家有帮助。
wencheng
2020/07/16
1.1K0
MongoDB文档查询操作
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
别团等shy哥发育
2023/02/25
1.3K0
MongoDB文档查询操作
点击加载更多

相似问题

腾讯文档的查询时间?

036

2021-06-18:已知数组arr,生成一个数组out,out的每个元素必须大于等于1,当arr?

057

2021-05-19:给定一个非负数组成的数组,长度一定大于1,想知道数组中哪两个数&的结果最大?

088

Recyclerview 如何设置setSpanSizeLookup 大于numColumns?

1561

mongoos内嵌关联数组如何查询?

0146
相关问答用户
腾讯云TDP | 先锋会员擅长2个领域
某公司 | 程序员擅长1个领域
擅长5个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档