Я думал, что это было бы просто, когда я его реализовал, однако после долгих поисков, поиска в Google и сканирования документов я не могу найти ответ.Поиск в файле Mongoid hash по ключевому слову
У меня есть поле, которое является хешем, где ключи являются идентификаторами, а значения представляют собой массив других идентификаторов. Например:
{"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)
для поиска людей, '.ne' является mongoid' not equal' –