Pergunta

Eu estou tentando recuperar um documento quando tenho um ID de objeto -. No entanto, a consulta não trabalho

@collection = @db.collection('Mylist')
@result = @collection.find({"_id" => params[:id]})

Eu tentei variações da consulta - sempre produz vazia -. No entanto, quando tento uma consulta sobre a coleção como abaixo, que iria trabalhar

@result = @collection.find({"Exist" => "True"}) 

Por quê? É estranho que consultas complexas trabalhar, mas uma consulta simples por retornos _id nada.

Se possível, eu não quero usar MongoMapper.

Graças

Foi útil?

Solução

Encontrado o - você precisa envolvê-la assim -

find({"_id" => Mongo::ObjectId(params[:id])}) 

Outras dicas

find(:_id => BSON::ObjectID(params[:id])

Isso também iria trabalhar: @ Coll.find_one (ObjectID.from_string (params [: id]))

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top