ruby-on-rails - 按键搜索 Mongoid 哈希字段

标签 ruby-on-rails mongodb search mongoid

当我实现它时,我认为这会很简单,但是在大量搜索、谷歌搜索和扫描文档之后,我似乎找不到答案。

我有一个哈希字段,其中键是 id,值是其他 id 的数组。例如:

{"52ab84929938c7f966d4f116"=>["52ab84919938c7f966d4ee7d"],
 "52ab84929938c7f966d4f117"=>["52ab84919938c7f966d4ee7d"],
 "52ab84929938c7f966d4f0cc"=>["52ab84919938c7f966d4ee7d", "52ab84929938c7f966d4f13d"],
 "52ab84929938c7f966d4f147"=>["52ab84919938c7f966d4ee7d"]}

这可能更适合图形类型的数据库,但我不熟悉该技术并且已经围绕 Mongoid 构建了我的应用程序的其余部分。对于另一个复杂的问题,这是我能想到的最简单的解决方案。

所以我的问题是如何搜索以 id:52ab84929938c7f966d4f0cc 作为哈希字段中的键的记录?

我尝试像这样使用数组样式,但返回的结果为零:

Course.all_in(:skills_available => sk.id)

我知道这行不通,但如果行得通就好了:

Course.where(:skills_available.key => sk.id)

最佳答案

Course.where(:'skills_available.52ab84929938c7f966d4f0cc'.ne => nil)
  • 唯一的限制是它会跳过:{'52ab84929938c7f966d4f0cc' => nil}

关于ruby-on-rails - 按键搜索 Mongoid 哈希字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20621124/

相关文章:

algorithm - 评估 MongoDB 聚合查询复杂度 : cost of $lookup

javascript - 使用某些过滤器 MongoDB 检索 n 个随机文档

javascript - 多维数组javascript中的搜索功能问题

ruby-on-rails - 服务器已经在 Rails 中运行

ruby-on-rails - Rails 多态关联 : getter and setter methods

ruby-on-rails - 乘客 parking 写日志

php5-mongo 和 pecl mongo-stable

javascript - 在网站 HTML 页面上搜索文本

javascript - 通过搜索查找下一个文本并突出显示不起作用

ruby-on-rails - 从 Globalize 1 for Rails 2.3.x 应用程序的升级路径