MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

mongodb:Konvertieren von Objekt-IDs in BSON::ObjectId

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.