Неизвестное имя этапа конвейера: «$sample»

когда я запускаю этот конвейер агрегации в Robomongo

db.getCollection('xyz').aggregate([{$match: {tyu: "asd", ghj: "qwe"}},
{$sample: {size: 5}}])

Я получаю эту ошибку:

assert: command failed: {
"errmsg" : "exception: Unrecognized pipeline stage name: '$sample'",
"code" : 16436,
"ok" : 0

Я использую mongodb версии 3.2.6, и поскольку $sample поддерживается начиная с версии 3.2. (https://docs.mongodb.com/manual/reference/operator/aggregation/sample/#pipe._S_sample)

Я немного смущен тем, почему я получаю это сообщение об ошибке.

Может быть, я просто пропустил что-то маленькое.

Спасибо


person HongerTrollie    schedule 07.07.2016    source источник
comment
Просмотрите комментарии к этому вопросу. , которые могут вам помочь.   -  person Shrabanee    schedule 07.07.2016
comment
Спасибо. В оболочке version() показывает 3.2.6, но db.version() показывает 3.0.6.   -  person HongerTrollie    schedule 07.07.2016


Ответы (1)


Как указано в комментариях к вопросу. У клиента Mongo была версия 3.2.6, но у Mongo db была версия 3.0.6.

Я использовал version() в оболочке, чтобы получить версию клиента, и db.version(), чтобы получить версию БД.

версия 3.0.6 слишком низкая для поддержки $sample, как указано в документации mongo https://docs.mongodb.com/manual/reference/operator/aggregation/sample/#pipe._S_sample

person HongerTrollie    schedule 11.07.2016