Quiero hacer una consulta a mi mongoDb con esta consulta. Sin embargo, tengo un desafío al hacer una consulta dinámica.
Aquí hay una matriz de muestra para un usuario. El problema es que las preferencias son diferentes para cada usuario.
dynamicArray = [ 'sample1', 'sample2', ]; const query = { visibility: true, $or: [ {"myField.sample1": true}, {"myField.sample2": true}, ] }; const recipes = await Recipe.find(query).countDocuments();Esto funciona porque codifiqué los valores de sample1 y sample2 de la matriz. Necesito poder pasar sample1 y sample2 dinámicamente a la consulta en función de los valores en dynamicArray sin codificarlos como lo hice aquí. ¿Cómo puedo hacer esto por favor?
Puede usar este script para generar objetos en la matriz.
const dynamicArray = [ 'sample1', 'sample2', ]; var query = {visibility: true, $or: []}; dynamicArray.map(m => { const key = "myField."+m var obj = {} obj[key] = true query.$or.push(obj)}) console.log(query)