2017-03-21 55 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

相关问题