MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

mongodb:conversione degli ID oggetto in BSON::ObjectId

Tutti questi funzioneranno, a condizione che il record esista effettivamente:

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

Sono interessato al JSON restituito su un Audit::Log... Perché vengono restituiti due campi _id?

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

Potresti voler passare al driver mongo e vedere se questo registro esiste davvero nel database. A meno che tu non dichiari un altro campo "_id" in audit_log.rb, credo che questo record non esista.