ruby-on-rails ruby mongodb mongoid nosql

ruby on rails - Mongoid no en consulta



ruby-on-rails mongodb (2)

Prueba esta consulta:

user = User.not_in(:_id => [2]).second

En MongoDB la clave primaria tiene el nombre _id . Mongoid trata de ser amigable y oculta parcialmente este hecho al desarrollador mediante un alias en id en el modelo de objetos. Pero cuando realiza consultas, no puede saber si desea una clave primaria _id o algún id campo completamente ordinario.

Tengo algunos problemas con mongoid:

test "Test candidate" do User.create(:id => 1, :sex => User::Male, :country => 1, :city => 1) User.create(:id => 2, :sex => User::Female, :country => 1, :city => 1) User.create(:id => 3, :sex => User::Female, :country => 1, :city => 1) user = User.not_in(:id => [2]).second assert_not_equal(user.id, 2) end

Prueba fallida He intentado usar where (: id => {''$ nid'' => [2]}), pero tiene el mismo efecto.

¿Qué está mal? ¿Cómo usar la condición "no en" con mongoid?

PS, "segundo" está bien, con "primera" prueba aprobada, porque id = 1