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"
}
如大虾有解决办法,请不要吝啬 -_-