我是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字段时,我假设它被存储为某种二进制密钥,因此无法使用我的搜索找到。
是否可以/应该进行一些转换以使上述查询正常工作?
谢谢。
答案 0 :(得分:1)
使用像Mongoid这样的ODM可以减轻您的痛苦。将其添加到您的Gemfile
:
gem 'mongoid'
并运行bundle install
。确保浏览安装指南以添加所有必要的配置。
然后在模型/类中包含以下行,例如:
class Product
include Mongoid::Document
...
end
您可以立即查询Product.find(id)
之类的记录。