2017-03-21 3 views
0

私は一般的にMongoDBとデータベースを使い慣れていません。私はRubyを使用しており、データベース内の特定のUUIDに対してクエリを実行したいと考えています。Ruby Mongo DB同じ値の複数のレコード

IDが_idとして格納され、値が '101b437a-be16-44f6-b0b0-0201cdee6510' です私は通常私のデータベースを照会することを、次のしている:

field = '_id:' 
    value = 101b437a-be16-44f6-b0b0-0201cdee6510 

    def query_field(field,value) 
    query = {#{field}: value} 

    @result = @mongo_interface.get(query) 
    expect(@result.count).to be >= 1 
    puts "Number of matched values: #{@result.count}" 

end 


def get(param_hash, collection_name = nil) 
    col_name = (collection_name.nil? || collection_name.empty?) ? @collection : collection_name 
@docs = @db[col_name].find(param_hash) 

エンド

_idフィールド内を見ると、それはある種のバイナリキーとして格納されていると仮定しているので、検索では見つからない。

上記のクエリを機能させるために行う可能性のある変換はありますか?

ありがとうございます。

答えて

1

MongoidのようなODMを使用すると、痛みが軽減されます。あなたのGemfileにそれを追加します。

gem 'mongoid' 

bundle installを実行します。必要な設定をすべて追加するには、インストールガイドをスキミングしてください。 は、その後、あなたのモデル/クラスに次の行を含め、言う:

class Product 
    include Mongoid::Document 
    ... 
end 

あなたは右後Product.find(id)のようなレコードを照会することができます。

+0

ゆっくりとドキュメントを読むことはできません。 – Tom

+0

[Mongoid Installation Docs]を見てみましたか(https://docs.mongodb.com/ruby-driver/master/tutorials/6.1.0/mongoid-installation /)? – dskecse

+0

こんにちは、私は探していたと正直言って、私はテストのための正しいルートを下っていたと確信していません。私は理想的ではないイベントストアを掘り下げていました。私はMongoIDを使ってテストを始めました。 hthe headをアップしてくれてありがとう – Tom

関連する問題