Quiero filtrar los documentos que satisfacen
(título = palabra de búsqueda O contenido = palabra de búsqueda) Y (categoría = categoría O categoría = categoría).
Y quiero combinar dos declaraciones OR, que son las opciones 1 y 2 a continuación, y traté de hacerlo, ¡pero no funcionó! Por favor, ayúdame a rectificarlo.
Quiero mantener la forma de la opción 1 y la opción 2, y combinar las dos declaraciones OR con AND.
//option 1 query.$or = [{ title: searchWord }, { content: searchWord }]; //option 2 query.$or = [{ category: category }, { category: category }]; //It doesn't work!! query.$and = [{$or : [{ title: searchWord }, { content: searchWord }]}, {$or : [{ category: category }, { category: category }]}];
Esta es la consulta mongodb que puede serle útil. Utiliza un implícito y. Asegúrese de reemplazar su nombre de colección.
db.collectionName.find({ $or : [ {"title": searchWord}, {"content": searchWord} ], "category": category })