All dies funktioniert, vorausgesetzt, der Datensatz existiert tatsächlich:
Account.where(:_id => "4e0a9c6142f5bc769f000008").first
Account.find(BSON::ObjectId("4e0a9c6142f5bc769f000008"))
Account.find("4e0a9c6142f5bc769f000008")
Ich interessiere mich für das JSON, das zu einem Audit::Log zurückgegeben wird... Warum werden zwei _id-Felder zurückgegeben?
#<Audit::Log _id: 4d892bfe6bcaff4ffd000001,
failed: nil, request_id: "68ccb38e9e345bb7fc55331389a902a1",
session_id: "54940ff7e8c7336d813a872db7cb7bc0",
_id: "4d892bfe6bcaff4ffd000001", ... }>
Vielleicht möchten Sie zum Mongo-Treiber wechseln und sehen, ob dieses Protokoll wirklich in der Datenbank vorhanden ist. Sofern Sie kein weiteres "_id"-Feld in audit_log.rb deklarieren, glaube ich, dass dieser Datensatz nicht existiert.