2016-08-05 11 views
1

私は値で収集するだけでドキュメントを検索したいと思います。のは、私のコレクションは、以下のような文書が含まれているとしましょう:Mongodb - キーなしで検索

[ 
    { 
    "_id": "57a443c74d854d192afcc451", 
    "somekey": "123", 
    "otherkey": "zxc" 
    }, 
    { 
    "_id": "57a443ca4d854d192afcc452", 
    "key": "123", 
    "otherkey": "123zxcvbnm" 
    } 
] 

、今私は、任意のキーの値が123が含まれているすべての文書を取得したいです。 私は(Rubyで書かれており、mongoidを使用して)のような何かを行うことを試みた:

new_search_query = { /.*/ => /#{v}/ } 
collection.find(new_search_query) 

を私は取得becuaseそれがsuportedされていないように見える:

BSON::InvalidKey (Regexp instances are not allowed as keys in a BSON document.): 

は、他の方法や、いくつかの回避策がありますそれをするために?

答えて

1

full_text_searchmongoidをレールアプリに使用してください。

+0

おそらくそれはうまくいくかもしれませんが、私の場合、モデル – mike927

+0

を使用しないで、 'collection.find(new_search_query)'は何ですか? – hgsongra

+0

これは 'Mongo :: Client'のコレクションです – mike927