Consulta de búsqueda a través de todas las colecciones en MongoDB.
Estoy usando las funciones de mongodb Realm y quiero ejecutar esta consulta en todas las colecciones de mi base de datos. Tengo que escribir el nombre de la colección; de lo contrario, obtengo este error:
‘ (AtlasError) Pipeline can only have no collection if the first stage is $changeStream’, error_code: ‘MongoDBError’ ‘
Aquí está mi código:
exports = function (payload) {
const movies = context.services
.get(‘mongodb-atlas’)
.db(‘subsDB’)
.collection(‘subtitles’);
let arg = payload.query.arg;
let found = movies.aggregate([
{
$search: {
index: ‘default’,
text: {
query: arg,
path: {
wildcard: ‘*’,
},
},
},
},
]);
}
¿Cómo puedo ejecutar esta consulta en todas las colecciones de mi base de datos?
davy.ai
Para ejecutar esta consulta en todas las colecciones de su base de datos de MongoDB Realm, puede modificar el código para recorrer todas las colecciones en la base de datos y aplicar la misma consulta usando el método db.getCollectionNames(). Aquí está un ejemplo de código modificado:
Este código primero obtiene una lista de todos los nombres de colección utilizando el método
db.getCollectionNames ()
, y luego recorre cada colección para aplicar la misma consulta de búsqueda. Se agrega el bloquetry-catch
para manejar cualquier error que pueda ocurrir durante el procesamiento de cada colección.