ruby on rails 3.1 - Querying an array field that contains hashes in mongoDB? -


i have problem in fetching data database. have array type column in mongodb database, in saving hash type data in each array index. have data on basis of hash match data base.

my data in database saving

{ "_id" : objectid("521603970ff5fa4b47000018"), "message_text" : "#cricket #badminton #sachin #tendulkar #ibl #masterblaster #srt cricketing world lights ibl http://t.co/rwskrm2eqf via @msncricket", "source" : "<a href=\"http://twitter.com/tweetbutton\" rel=\"nofollow\">tweet button</a>", "status_id" : numberlong("370521615638884352"), "status_created_at" : "2013-08-22 17:53:31 +0530", "user_id" : "31677680", "screen_name" : "msncricket", "name" : "msn cricket", "followers_count" : 11515, "friends_count" : 303, "query" : [     {         "filterid" : "5215b40c0ff5fa111e000001",         "subfilterid" : "60728003610375795",         "type" : "keyword",         "source" : "twitter",         "monitoring_type" : false,         "search_type" : false,         "searchparameter" : "sachin",         "geo" : "india",         "language" : "en"     } ] } 

the query column array type column.

during searching make hash again form matching follows

query = {"filterid"=>"5215b40c0ff5fa111e000001", "subfilterid"=>"60728003610375795",        "type"=>"keyword", "source"=>"twitter", "monitoring_type"=>false, "search_type" => false, "searchparameter"=>"sachin", "geo"=>"india", "language"=>"en"} @result = statuses.where({query: query}) 

db.collection.find( { "query": { $elemmatch: { "filterid": "5215b40c0ff5fa111e000001", "subfilterid": "60728003610375795" } } } ); 

you looking elemmatch. check out docs