tutorial registro modificar español ejemplos documento consultas complejas comandos php mongodb multidimensional-array mongodb-query

php - registro - mongodb modificar documento



¿Cuál es la forma correcta de asegurar el índice índice campo mongodb en una matriz multidimensional? (1)

Tengo datos en mongodb algo así. Hay una colección de gatos. Los gatos se clasifican en diferentes categorías y se clasifican del 1 al 100. Un gato puede estar ubicado en 2 o más categorías. Hay miles de categorías.

COLECCIÓN : "gatos"

LLAVES :

rank.category1 = 1; // ranked 1st in category #1 rank.category2 = 13; // ranked 13th in category #2 rank.category425 = 50; // ranked 50th in category #425

PREGUNTA : Si quiero hacer un find () para devolver todos los "gatos" que tienen un "rango" en "categoría2" donde $ existe => "rank.category2" ¿cuál es la forma correcta de indexar esto? ¿Puedo poner simplemente un índice ascendente en la colección de "rango" o necesito un índice en todas las más de 1000 categorías *? ¿Hay una mejor manera de almacenar esta información o una forma más fácil de indexarla?


Qué tal si ...

rank.categories = [1, 2, 425]; rank.category = { 1 : 1, 2 : 13, 425 : 50 }

Puede indexar db.collection.ensureIndex({"categories":1}) . Ahora puede buscar categorías y obtener una clasificación de cada una cuando encuentre una.