mongodb 3.2.18 在管道中使用切片无法识别的管道阶段名称:'$slice'
mongodb 3.2.18 use slice in pipeline Unrecognized pipeline stage name: '$slice'
在mongodb的文档中,"$slice"是在3.2版本中引入的。但是,将我的 mongodb 升级到 3.2 后,我仍然遇到此错误。我还检查了 db.version() 和 mongo --version,它们都是 3.2.18.
编辑 来自评论聚合管道
db.test.aggregate(
[
{
$match : {"keya" : val}, {$slice : ["$mylist", 2] }
}
]
)
这里的问题是 $slice 不能用作聚合管道中的顶级运算符,而只能用作 $project 的一部分。请注意,在 MongoDB 文档中它是 Aggregation Pipeline Operators
的一部分而不是 Aggregation Pipeline Stages
.
试试下面的代码:
db.test.aggregate([
{$match : {"keya" : vala}},
{ $project: { keya: 1, myList: { $slice: [ "$myList", 2 ] } } }
])
在mongodb的文档中,"$slice"是在3.2版本中引入的。但是,将我的 mongodb 升级到 3.2 后,我仍然遇到此错误。我还检查了 db.version() 和 mongo --version,它们都是 3.2.18.
编辑 来自评论聚合管道
db.test.aggregate(
[
{
$match : {"keya" : val}, {$slice : ["$mylist", 2] }
}
]
)
这里的问题是 $slice 不能用作聚合管道中的顶级运算符,而只能用作 $project 的一部分。请注意,在 MongoDB 文档中它是 Aggregation Pipeline Operators
的一部分而不是 Aggregation Pipeline Stages
.
试试下面的代码:
db.test.aggregate([
{$match : {"keya" : vala}},
{ $project: { keya: 1, myList: { $slice: [ "$myList", 2 ] } } }
])