MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

mongodb:convertendo IDs de objetos para BSON::ObjectId


Tudo isso funcionará, desde que o registro realmente exista:
Account.where(:_id => "4e0a9c6142f5bc769f000008").first
Account.find(BSON::ObjectId("4e0a9c6142f5bc769f000008"))
Account.find("4e0a9c6142f5bc769f000008")

Estou interessado no JSON retornado sobre um Audit::Log... Por que há dois campos _id retornados?
#<Audit::Log _id: 4d892bfe6bcaff4ffd000001, 
    failed: nil, request_id: "68ccb38e9e345bb7fc55331389a902a1", 
    session_id: "54940ff7e8c7336d813a872db7cb7bc0", 
    _id: "4d892bfe6bcaff4ffd000001", ... }>

Você pode querer ir para o driver mongo e ver se esse log realmente existe no banco de dados. A menos que você esteja declarando outro campo "_id" no audit_log.rb, acredito que esse registro não exista.