Isso não resolverá seu problema, mas deve apontar na direção certa e talvez permitir que você isole o problema que você pode usar para criar uma nova pergunta:
Não há. Há apenas um índice e ele tem um nome e um descritor de chave. Isso não é a mesma coisa. O nome do índice padrão é
_id_
, sua chave é _id
. O
_id
é normalmente criado do lado do cliente, não do lado do servidor. A questão é de onde vêm essas chaves, porque 2ZGvRfuD8iMvRiXJd
certamente não é um ObjectId
. Isso pode ser uma chave de meteoro ou você usa alguma chave primária personalizada, mas não sei como essas chaves são geradas. Talvez o que gera a chave seja suscetível a colisões? Mais informações sobre isso seriam úteis, mas sugiro formular uma nova pergunta para que a pergunta não fique muito grande ou tenha muito histórico.
Esse é um lema da primeira resposta:você não pode excluir o índice de chave primária obrigatório.
Editar:
Meteor, por padrão, gera ids de uma maneira diferente do MongoDb . Isso faz sentido, porque a convenção para
ObjectId
torna as colisões prováveis se o número de clientes for grande
(ou seja, se os clientes não forem instâncias de servidor, mas navegadores de cliente, dos quais provavelmente há 2-3 ordens de magnitude a mais). Em vez disso, o Meteor aparentemente usa o método para gerar consistentemente números pseudo-aleatórios no cliente e no servidor . Irritantemente, a implementação usa um PRNG e retorna para um não gerador de números aleatórios determinísticos cripto-forte (Alea) . Em outras palavras, descobrir como exatamente seus ids estão sendo gerados pode ser complicado porque depende de muitos detalhes do seu ambiente.
Solução alternativa:tente usar
ObjectId
como chave primária:Orders= new Meteor.Collection('Orders', {idGeneration: 'MONGO'});