Struktur Dokument -Mongoid Abfrage Hash-Felder mit anderen Feld
{
"_id" : "b3bf7422-4993-4728-ae6f-98f35aa52a9c",
"feed_user_type" : "user",
"relation" : "reported_by",
"notification_title" : "Thank you for submitting the report. The moderators will now review the evidence.",
"notification_type" : {
"email" : false,
"feed" : false,
"notification" : true
},
"updated_at" : ISODate("2016-12-01T12:14:41.269Z"),
"created_at" : ISODate("2016-12-01T12:14:41.269Z")
}
Nach Abfragen funktioniert
Userfeed.where(:notification_type.feed => true).offset(offset).limit(size).asc(:created_at)
Userfeed.where(:feed_user_type => "user").offset(offset).limit(size).asc(:created_at)
erste Abfrage das Feld in der Hash-abfragt und zweite ist einfache Abfrage ein normales Feld abfragt und gibt richtige Ergebnisse.
Aber ich kombinieren sowohl die Abfragen i überhaupt keine Ergebnisse nicht bekommen. Ich habe versucht, folgende zwei Syntax für die Kombination der obigen Abfrageklausel
Wie kann ich eine Hash-Feld Abfrageklausel mit normalen Feld Abfrageklausel kombinieren?
Dank
leid, dass war Typo, bearbeitet die doc – user3775217
werden Sie einen Fehler sehen, oder ist es Ihnen keine Ausgabe bekommen. Die Art, wie Sie die Abfragen kombinieren, arbeiten als UND-Bedingung. Wenn Sie also keine Ausgabe erhalten, stellen Sie sicher, dass Sie übereinstimmende Daten haben. aber an erster Stelle möchten Sie fragen, für diejenigen, die Benachrichtigungstyp Feed haben und Benutzer ist der aktuelle Benutzer? –
können Sie .any_of ( {: notification_type.feed => true}, {: feed_user_type => current_user.id} ) Dies funktioniert als oder und Sie können sehen, ob Sie zuerst ausgegeben werden. –