mongodb根据指定索引获取数组中的值

4 篇文章 0 订阅
1 篇文章 0 订阅

1、$slice

{$slice: [array, n]}              // 从开始位置到n索引的位置截取
{$slice: [array, position, n]}    // 从position索引位置开始到n索引位置

例:只可惜获取的还是数组,还没有找到办法直接向java一样获取单个值

{$slice : [[1, 2, 3], 1, 1]}
结果:[2]

{$slice : [[1, 2, 3], -2]}
结果:[2, 3]

{$slice : [[1, 2, 3], 15, 2]}
结果:[]

{$slice : [[1, 2, 3], -15, 2]}
结果:[1, 2]

如果解析单个字段,可以进行拆包操作,如下

db.collection.aggregate([
  {$project : {test : {$slice:[['1', '2', '3'], 1]}}},
  { $unwind : "$test" }
])

结果:
{
    "test" : "1"
}

如大虾有解决办法,请不要吝啬 -_-

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值