2017-03-21 53 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進行測試了。感謝您的支持 – Tom

相關問題