MongoDB 如何查询数组元素的下标

本文介绍了在MongoDB中无法直接通过数组元素值查询下标的问题,提出使用集算器的pos()函数来解决。通过集算器的脚本示例和Java集成方法,展示如何便捷地找到MongoDB文档中数组元素的下标。
摘要由CSDN通过智能技术生成

MongoDB通过 $slice 可以按照下标查出内嵌数组的元素,但是不能通过元素的值来查询下标。例如:数组中的元素是存放不同的颜色名称,MongoDB 可以根据数组下标来找颜色,但是不能通过颜色查找对应的下标。

比如:MongoDB 的集合 colors 中,保存了 name 和 color(数组), 数据如下:

colors _id name color
1 page [red,green,blue,white,mauve,black]
2 card [gray,ivory,mauve,lavender,white,black,yellow]

MongoDB 可以查找指定排名的颜色,例如查找 white 的颜色:
db.colors.find({}, {color: { $slice: [3,4]}} ),

虽然能找到颜色 white 的记录,但由于没有提供对应的方法,不能找到 white 在数组中的下标。
使用集算器, 可用 pos() 函数定位数组元素的下标,非常方便。

集算器安装包可去润乾网站下载。

我们将上述描述事例实现步骤:

1.   在集算器中编写脚本 colors.dfx:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值