Suponiendo una configuración como esta:MongoDB: cruzada colección de consulta
blogposts
{
title:"Example",
slug:"example-post"
tags: ["foo", "bar"]
},
{
title:"Example2",
slug:"example2"
tags: ["foo"]
}
news
{
headline: "Test"
slug: "test-news"
tags: ["bar"]
}
Sé que puedo conseguir todas las entradas de blog con una etiqueta específica:
$cursor = $blogposts->find(array('tags' => 'bar'));
pero ¿hay alguna forma de consulta múltiples colecciones a la vez para obtener todos los documentos con la etiqueta? P.ej. para mostrar todo el contenido con la etiqueta 'bar'.
+1 para la gran penetración. ¿Habrá una diferencia de rendimiento si utilizo varias colecciones en una sola colección, especialmente cuando planeo indexar dos columnas dentro de mi colección? – Legend
@Legend: ¡Gracias! Al usar múltiples colecciones, no tendrá que indexar el campo 'type', que le ahorrará algo de RAM. Pero en términos de rendimiento de la consulta, las diferencias serán insignificantes si ha definido los índices correctos. –