Você pode notar que o MongoDB tem muitas funções (no shell) e campos que começam com um understore como uma designação de que eles são internos ou especiais e não fornecidos pelo usuário.
Se você tiver seu próprio "ID", poderá armazená-lo como "id" e ainda usar o campo _id fornecido pelo MongoDB, embora não seja necessário usar o ObjectId que o MongoDB gera - você pode armazenar sua própria chave primária natural em o campo "_id" que sempre terá um índice único.