MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Efeito da geração do mongodb _id na indexação


Uma solução muito melhor seria deixar o _id coluna como está e tem userId separado e folderId campos em seu documento ou crie um campo separado com ambos combinados.

Quanto a ser "tão rápido" ... depende da sua consulta, mas para ordenar por data de "criação" do documento, por exemplo, você perderia a capacidade de simplesmente ordenar pelo _id você também perderia os benefícios de fragmentação e distribuição .

No entanto, se você quiser usar esses dois IDs para seu _id existe outra opção...

Você pode usar ambos mas deixe-os separados ... por exemplo, este é um _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"
}
>