#mongodb #mongodb-query
#mongodb #mongodb-запрос
Вопрос:
В настоящее время я пытаюсь агрегировать с MongoDB, используя json, найденный здесь :http://media.mongodb.org/zips.json
Итак, я импортировал его тысячи раз, а затем попробовал эту команду :
db.CO_villes.aggregate({$group:{_id:"$state",population:{$sum:"$pop"}}})
И я получил эту ошибку :
2019-04-24T13:49:19.579 0000 E QUERY [js] Error: command failed: {
"ok" : 0,
"errmsg" : "unrecognized field 'mergeByPBRT'",
"code" : 9,
"codeName" : "FailedToParse",
"operationTime" : Timestamp(1556113758, 2),
"$clusterTime" : {
"clusterTime" : Timestamp(1556113758, 2),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
} : aggregate failed :
У меня есть разделенный кластер с 3 экземплярами MongoDB.
Я тоже могу столкнуться с этой проблемой, когда пытаюсь получить индексы с помощью «Compass».
Я попытался экспортировать данные и удалить поле id с помощью команды «sed» (потому что не все мои идентификаторы были с «ObjectId») и импортировать их, но я все еще сталкиваюсь с этой проблемой.
Ответ №1:
Я решил свою проблему, создав кластер 3.6 вместо 4.0.6. Поэтому я думаю, что это ошибка, связанная с новыми версиями MongoDB.
Комментарии:
1. Та же проблема!!! это работает в кластере версии 4.0.5, я думаю, что эта ошибка началась с версии 4.0.6.
2. Рад слышать, что вы столкнулись с той же проблемой, а затем узнали, что это ошибка, связанная с версией 4.0.6. Спасибо
3. Я считаю, что эта проблема возможна, только если ваши сегментные
mongod
серверы используют 4.0.6 или более раннюю версию, и вы обновили своиmongos
до 4.0.7 . Если все компоненты вашего кластера определенно работают под управлением одной и той же версииmongod
иmongos
, было бы лучше опубликовать новый вопрос на DBA StackExchange с более подробной информацией о вашей среде, включая конкретныеmongod
иmongos
используемые версии.