1
У меня есть коллекция с документами, которые выглядят примерно так:Mongoid неспособность найти документ по вложенной ID
{
_id: ObjectId("521d11014903728f8d000006"),
association_chain: [
{
name: "Foobar",
id: ObjectId("521d11014903728f8d000005")
}
],
// etc...
}
можно найти с помощью атрибута name
с этим запросом:
@results = Model.where 'association_chain.name' => 'Foobar'
Это возвращает результаты, как ожидалось. Однако, когда я пытаюсь найти с помощью атрибута id
:
@results = Model.where 'association_chain.id' => '521d11014903728f8d000005'
Там нет никаких результатов. Насколько я могу судить, запрос, который создает Mongoid, выглядит корректным:
MOPED: 127.0.0.1:27017 QUERY database=x collection=x selector={"$query"=>{"association_chain.id"=>"521d11014903728f8d000005"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=25 skip=0 batch_size=nil fields=nil (244.7259ms)
Что я делаю неправильно?
'ObjectId' не метод – Andrew
... но изменить его на' BSON :: ObjectId() 'исправили проблему. Я уточню ваш ответ. Благодаря! – Andrew
Спасибо за исправление моего ответа! – nachbar