MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongodb :conversion des ID d'objet en BSON ::ObjectId

Tous ces éléments fonctionneront, à condition que l'enregistrement existe réellement :

Account.where(:_id => "4e0a9c6142f5bc769f000008").first
Account.find(BSON::ObjectId("4e0a9c6142f5bc769f000008"))
Account.find("4e0a9c6142f5bc769f000008")

Je suis intéressé par le JSON renvoyé à propos d'un Audit::Log... Pourquoi y a-t-il deux champs _id renvoyés ?

#<Audit::Log _id: 4d892bfe6bcaff4ffd000001, 
    failed: nil, request_id: "68ccb38e9e345bb7fc55331389a902a1", 
    session_id: "54940ff7e8c7336d813a872db7cb7bc0", 
    _id: "4d892bfe6bcaff4ffd000001", ... }>

Vous voudrez peut-être passer au pilote mongo et voir si ce journal existe vraiment dans la base de données. À moins que vous ne déclariez un autre champ "_id" dans audit_log.rb, je pense que cet enregistrement n'existe pas.