Debido a un error en el código de cliente, mongodb han creado muchos "mr.mapreduce ...." colecciones, cómo eliminar a todos ellos (por máscara tal vez).MongoDB eliminar la colección de mapreduce
Respuesta
que ejecutar secuencias de comandos en el shell interactivo:
function f() {
var names = db.getCollectionNames();
for(var i = 0; i < names.length; i++){
if(names[i].indexOf("mr.") == 0){
db[names[i]].drop();}}};
f();
Se resuelve mi problema.
mapa-reducir la tabla temporal debe ser limpiado cuando la conexión que los creó se cierra:
map/reduce es invocada a través de una base de datos de comandos . La base de datos crea una colección temporal para contener la salida de de la operación. La colección es limpiada cuando se cierra la conexión de cliente o cuando se quita explícitamente. Alternativamente, se puede especificar un nombre de colección de salida permanente . map y reducir funciones están escritas en JavaScript y se ejecutan en el servidor.
Si no, usted podría eliminarlos ellos usando el mismo método que haría con cualquier otra colección. Aunque puede ser un poco repetitivo.
Otra forma de lograr lo mismo es este fragmento:
db.system.namespaces.find({name: /tmp.mr/}).forEach(function(z) {
try{
db.getMongo().getCollection(z.name).drop();
} catch(err) {}
});
Pro: No va a tratar de recoger todos los espacios de nombres en una matriz de JavaScript. MongoDB segfaults en demasiados espacios de nombres.
- 1. ¿Cómo eliminar registros duplicados en MongoDB de MapReduce?
- 2. Eliminar registros duplicados usando MapReduce
- 3. MongoDB: Terrible rendimiento de MapReduce
- 4. ¿MongoDB MapReduce bloquea la base de datos
- 5. MongoDB: efectos secundarios de mapReduce
- 6. ¿Cómo suprimir colecciones de MapReduce temporales en MongoDB
- 7. Programación de trabajos de MapReduce para MongoDB
- 8. MongoDB MapReduce no devuelve datos en PHP
- 9. MongoDB MapReduce actualización en el lugar cómo
- 10. MongoDB MapReduce - Emitir una clave/valor uno duerma llamar reducir
- 11. MongoDB: cruzada colección de consulta
- 12. Eliminar por _id en la consola MongoDB
- 13. Actualizar la colección MongoDB usando $ toLower
- 14. MongoDB: ¿De qué sirve utilizar MapReduce sin paralelismo?
- 15. Guardar subconjunto de MongoDB colección a otra colección
- 16. mongodb eliminar subdocumento del documento
- 17. Colección de recuento de MongoDB Node.js
- 18. ¿Puedo eliminar el índice MongoDB predeterminado?
- 19. Buscar y eliminar elementos de la colección
- 20. MongoDB: Billetes de documentos en una colección
- 21. Campos de consulta en una colección MongoDB.
- 22. MongoDB: eliminar restricción única
- 23. MongoDB eliminar objetos GridFS del shell
- 24. ¿Cómo puedo eliminar duplicados en MongoDb?
- 25. MongoDB - Cómo consultar la inclusión de documentos de una colección
- 26. ¿Puede una colección MongoDB tener dentro otra colección?
- 27. Cambiar el nombre de la colección en mongodb
- 28. NodeJS + MongoDB: Obtener datos de la colección con findOne()
- 29. Obtiene el último registro de la colección mongodb
- 30. Multi-colección, 'transacciones' multi-documentos en MongoDB
copié el mismo código, pero no funcionó para mí :(EDIT: el nombre era diferente. Funciona ahora. Gracias. – theTuxRacer
Buena idea. Sin embargo, es posible que desee abordar la causa del problema a largo plazo. Crear (y dejar) una carga de colecciones temporales para la limpieza manual probablemente no sea lo ideal. –
Debería escribir> if (nombres [i] .indexOf ("tmp.mr.") == 0) {