sql >> Base de Datos >  >> NoSQL >> MongoDB

Efecto de la generación de mongodb _id en la indexación

Una solución mucho mejor sería dejar el _id columna tal como está y tener un ID de usuario separado y ID de carpeta campos en su documento, o cree un campo separado con ambos combinados.

En cuanto a si será "tan rápido" ... depende de su consulta, pero para ordenar por fecha de "creación" del documento, por ejemplo, perdería la capacidad de ordenar simplemente por el _id también perdería los beneficios de fragmentación y distribución .

Sin embargo, si desea utilizar ambos ID para su _id hay otra opción...

De hecho, puedes usar ambos pero déjalos separados ... por ejemplo, este es un _id válido :

> var doc = { "_id" : { "userID" : 12345, "folderID" : 5152 }, 
              "field1" : "test", "field2" : "foo" };
> db.crazy.save(doc);
> db.crazy.findOne();
{
        "_id" : {
                "userID" : 12345,
                "folderID" : 5152
        },
        "field1" : "test",
        "field2" : "foo"
}
>