2016-12-28 3 views
1

Ich möchte die erste 42 Jahre alte Person in meiner Datenbank bekommen.Mongoid Abfrage gleich Operator

Wie kann ich diese Abfrage funktioniert:

Person.where(:Age.eq => 42).first 

Anstatt das Ergebnis Abfrage des Erhaltens, ich habe:

undefined method `eq' for :Age:Symbol 
+0

Person.where (Alter: 42) .First – Aby

+0

Wenn nicht, dann diese existieren versuchen so wird es schaffen und zurück: Person.where (Alter: 42) .first_or_create – Aby

Antwort

0

Probieren Sie es aus: -

Person.where(:age => 42).first 

Es wird die Person mit age = 42

ODER

Abfrage auf diese Weise abgefragt werden: -

Person.find_by age: 42 

Die find_by Methode findet die erste Datensatz, der mit dieser Bedingung übereinstimmt

See the documentation

+0

Es funktioniert Person.where (: age => 42) .erst danke :) – user3146542

0

Was ist nur:

Person.where(Age: 42).first 

?

+0

Der erste Satz perfekt funktioniert, danke der – user3146542