Ich habe eine Produktklasse, die etwa 2 Millionen Daten enthält. Jede Zeile in der Product-Tabelle hat ein Feld namens property, das Hash-Werte enthält. Ich habe Suchfeld und der Wert in Suchfeld eingegeben sollte innerhalb der Hash-Werte der Tabelle Produkte durchsucht werden. Wie mache ich das? Ich verwende MongoDB und Rails. Das habe ich bisher versucht.Abfrage in MongoDB mit Rails
@product3= Product.select{|hash| hash.property.has_value? /.*#{params[:search]}*./i}
Es gibt undefinierte Methode 'select' für die Produktklasse zurück. Also habe ich versucht wie unten.
@product3= Product.all.to_a.select{|hash| hash.property.has_value? /.*#{params[:search]}*./i}
Aber es ist Looping zu allen Daten (2 Millionen), die eine Menge Zeit braucht.
EDIT: Bild für Beispieldaten aus der Produkttabelle. Ich habe 2 Datensätze aus der Produkttabelle mit der Abfrage Product.limit(2).all.to_a
angezeigt.
Können Sie Ihre DB-Struktur zeigen? – Shrabanee
@Shrabanee. Vielen Dank. Die Frage wurde aktualisiert. Bitte werfen Sie einen Blick auf das beigefügte Bild. – poombavai