MongoDb的$slice操作不起作用。

5

我正在尝试使用MongoDB中的聚合函数获取一些记录,但它显示以下无效运算符$slice

db.getCollection('test').aggregate( [
    { $match: { 'subjectId': '123' } }, 
    { $sort: { 'assessmentDate': -1 } }, 
    { $group: { '_id': '$area', 'docs': { $push: "$$ROOT" } } },  
    { $project: { docs: { $slice: ["$docs", 1, 1]   }  }  }, 
])

Error("Printing Stack Trace")@:0()@src/mongo/shell/utils.js:37([objectArray])@src/mongo/shell/collection.js:866
@(shell):1
uncaught exception: aggregate failed: {
    "errmsg" : "exception: invalid operator '$slice'",
    "code" : 15999,
    "ok" : 0
}

MongoDB 版本 3.0.9


3
$slice 是 MongoDB 3.2 版本开始支持的功能。 - Shaishab Roy
是的,它起作用了,MogoDb版本应该是3.2.x以上。 - Ranjeet
1个回答

2
使用 $slice,我们应该使用 mongoDB 3.2.x 以上版本, 更改日志可以在 changelog 找到。 $slice 的文档可以在 documentation 中找到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接