sql >> Database >  >> NoSQL >> MongoDB

mongodb:het converteren van object-ID's naar BSON::ObjectId

Al deze zullen werken, op voorwaarde dat het record echt bestaat:

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

Ik ben geïnteresseerd in de JSON die is geretourneerd over een Audit::Log... Waarom worden er twee _id-velden geretourneerd?

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

Misschien wilt u naar de mongo-driver gaan en kijken of dit logboek echt in de database bestaat. Tenzij u een ander "_id"-veld in de audit_log.rb declareert, geloof ik dat dit record niet bestaat.



  1. docker-compose wait-for.sh mislukt voor wachten op mongodb

  2. Zijn Redis-updates synchroon?

  3. Zinkende onderwerpgegevens van Java-producent naar Mongodb

  4. MongoDB-groep met meerdere id