2016-04-28 13 views
1

Ich habe eine Schiene app mit mongoid5. In meinem Project Modell hat ein Attribut wie folgt aus:Mongoid Abfrage auf Hash-Felder

permissions : { 
"18748343" : 2, 
"23453744" : 3, 
"23453444" : 1 
} 

und eine Anordnung wie diese

role_ids = ["123456", "23453744"] 

ich auf Projekte abfragen möchten, die eine der role_ids Mitglieder als Schlüssel in ihrem permissions Attribut hat und Wert dieses Schlüssels ist mehr als 1. Wie kann ich diese Abfrage mit Mongoid-Kriterien machen?

Antwort

2

Wenn Sie Mongoid verwenden :: Attribute :: Dynamisch, mongoid5 können Sie wie folgt abfragen:

Project.where('permissions.123456'.ne => nil) 

Dies liegt daran, in Mongo ist Berechtigungen Dokument, mit Schlüsseln

+0

Soll das um ein Symbol zu sein oder fügt Mongoid5 alle Operatormethoden zu "String" und "Symbol" hinzu? –