mongoose - Cómo obtener datos de una colección creada dinámicamente en mongoDB


tenemos una colección, digamos TestColl

tener un documento como

{
    "_id" : ObjectId("57558a793f50f61400af205c"),
    "title" : "Tile 1",
    "addSites" : true,
    "version" : 11,
    "isMajorVersion" : true
},
  {
    "_id" : ObjectId("654558a793f50f61400af205c"),
    "title" : "Title 2,
    "addSites" : false,
    "version" : 11,
    "isMajorVersion" : true
}

para cada documento de TestColl hay una colección separada en DB

así que tenemos otras dos colecciones que se crean en función del Id. de objeto de TestColl, que es 57558a793f50f61400af205c y 654558a793f50f61400af205c

Esto hace un total de tres colecciones.

buscando una forma de acceder a una colección '57558a793f50f61400af205c' si mi consulta devuelve un documento con _id=654558a793f50f61400af205c en una sola consulta.

Restricción: solo necesitamos consultar sin crear ningún procedimiento almacenado o función, solo consulta mongodb pura



------------Respuesta------------

puede usar forEach loop y acceder a los datos de la colección de esta manera:

db.kt.find().forEach(function(doc){
    var colName = doc._id.str;
    var data = db.getCollection(colName).find().toArray();
    printjson(data);
    print(","); // to have array of arrays [[],[],[]]
    })

Etiquetas: mongoose mongodb

Artículos relacionados:

¿Cómo almacenar la lista de archivos y carpetas en la lista o configurar usando Java?

r - Hacer que una variable sea formas de diferentes colores (ggplot2)