Ruby Mongo DB具有相同值的多个记录

时间:2017-03-21 07:42:40

标签: ruby mongodb uuid

我是MongoDB和数据库的新手。我使用Ruby,我想查询数据库中的特定UUID。

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 个答案:

答案 0 :(得分:1)

使用像Mongoid这样的ODM可以减轻您的痛苦。将其添加到您的Gemfile

gem 'mongoid'

并运行bundle install。确保浏览安装指南以添加所有必要的配置。 然后在模型/类中包含以下行,例如:

class Product
  include Mongoid::Document
  ...
end

您可以立即查询Product.find(id)之类的记录。