Estoy usando mongodb ahora.
Tengo una colección de blogpost, y blogpost tiene una etiqueta archivada que es una matriz, por ejemplo
blogpost1.tags = ['tag1', 'tag2', 'tag3', 'tag4', 'tag5']
blogpost2.tags = ['tag2', 'tag3']
blogpost3.tags = ['tag2', 'tag3', 'tag4', 'tag5']
blogpost4.tags = ['tag1', 'tag4', 'tag5']
¿Cómo puedo hacer estas búsquedas?
- contiene 'etiqueta1'
- contiene ['etiqueta1', 'etiqueta2'],
- contiene cualquiera de ['tag3', 'tag4']
Mi experiencia es que para (2) la siguiente solución es mucho más rápida que la que tiene "$ all":
pero para ser sincero, no sé por qué. Me interesaría, si alguien lo sabe.
fuente