Tente esta consulta:
user = User.not_in(:_id => [2]).second
No MongoDB, a chave primária tem o nome
_id
. O Mongoid tenta ser amigável e oculta parcialmente esse fato do desenvolvedor, alias para id
no modelo de objeto. Mas quando você faz consultas, ele não pode dizer se você quer a chave primária _id
ou algum campo completamente comum id
.