在mongoDB中查询包含哈希的数组字段?

在mongoDB中查询包含哈希的数组字段?,mongodb,ruby-on-rails-3.1,Mongodb,Ruby On Rails 3.1,我从数据库中提取数据时遇到问题。我在mongodb数据库中有一个数组类型列,我在其中保存每个数组索引中的哈希类型数据。我必须根据数据库中的哈希匹配来获取数据 我数据库中的数据是这样保存的 { "_id" : ObjectId("521603970ff5fa4b47000018"), "message_text" : "#cricket #badminton #sachin #tendulkar #ibl #masterblaster #srt Cricketing world lights up

我从数据库中提取数据时遇到问题。我在mongodb数据库中有一个数组类型列,我在其中保存每个数组索引中的哈希类型数据。我必须根据数据库中的哈希匹配来获取数据

我数据库中的数据是这样保存的

{
"_id" : ObjectId("521603970ff5fa4b47000018"),
"message_text" : "#cricket #badminton #sachin #tendulkar #ibl #masterblaster #srt Cricketing world lights up 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"
    }
]
}

您很可能正在寻找
elemMatch
。查看

如何在rails查询活动记录中运行它我不使用ruby。抱歉:(但现在你可以用谷歌搜索如何在ruby中为mongo使用ODM或包装器来实现elemMatch了。)嗯。。。对不起,你是说“它也在mongodb控制台中工作”吗?对不起,我的英语不好:(让我们
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" } } } );