/ / mongodb 3.2.18 utilise slice dans un pipeline Nom d'étape de pipeline non reconnue: '$ slice' - mongodb, agrégat, slice, pipeline

mongodb 3.2.18 utiliser une tranche dans un pipeline Nom d'étape de pipeline non reconnu: '$ slice' - mongodb,

Dans le document de mongodb, "$ slice" étaitintroduit dans la version 3.2. Cependant, après avoir mis à jour mon mongodb vers la version 3.2, j'obtiens toujours cette erreur. Et je vérifie également les versions db.version () et mongo --version, toutes deux 3.2.18.

MODIFIER à partir du pipeline d'agrégats de commentaires

db.test.aggregate(
[
{
$match : {"keya" : val}, {$slice : ["$mylist", 2] }
}
]
)

Réponses:

0 pour la réponse № 1

Le problème ici est que tranche de $ ne peut pas être utilisé en tant qu'opérateur de niveau supérieur dans le pipeline d'agrégation, mais uniquement dans le cadre de $ project. Veuillez ne pas noter que dans les documents MongoDB, il fait partie de Aggregation Pipeline Operators et pas Aggregation Pipeline Stages.

Essayez le code suivant:

db.test.aggregate([
{$match : {"keya" : vala}},
{ $project: { keya: 1, myList: { $slice: [ "$myList", 2 ] } } }
])