Rescato este tema que tenía del año pasado cuando trasteaba con MongoDb. El caso es que estuve intentando hacer agregaciones a través de Mongoose.js en Node y como que no podía.
MongoError: no aggregate
{ [MongoError: no such cmd: aggregate]
name: ‘MongoError’,
errmsg: ‘no such cmd: aggregate’,
‘bad cmd’: { aggregate: ‘*nombreModelo*‘, pipeline: [ [Object], [Object] ] },
ok: 0 }
Ni siquiera me funcionaba las adaptaciones de los sencillos ejemplos de la web oficial de Mongo. Así que hice lo que hacemos todos en estos casos de desesperación: mirar la documentación oficial sobre agregación 😀 Y empecé a ver que la agregación estaba disponible a partir de la 2.1.0 ¿Mongo no permitía agregaciones anteriormente? No me imagino hacerlo con MapReduce()
En mi caso por entonces, tenía una versión anterior de Mongo aunque la instalara -creo recordar- de modo oficial y supuestamente era la última versión. Para salir adelante y poder agregar en Mongo, hay que actualizarlo.
Cómo actualizar MongoDb
Ejecutar en la terminal cada uno de los siguientes pasos:
- Actualizar la lista del repositorio de MongoDb
echo "deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist dist 10gen" | tee -a /etc/apt/sources.list.d/10gen.list
- Actualizar todos los repositorios
sudo apt-get update
- Instalar los pendientes si hubiera
sudo apt-get install -f
- Eliminar lo obsoleto:
sudo apt-get autoremove
¡Funciona!
Upgrade de Mongo vía UbuntuGeek