Sto accedendo al database Mongo da Clojure utilizzando la libreria Monger. Una cosa che mi infastidisce è il passaggio tra le istanze e le stringhe ObjectId.Mapping Mongodb ObjectId ae da stringa automaticamente
Ad esempio, il questo codice (mc/find-maps "posts" {})
valuterà alle mappe con il valore di _id
ingresso impostato su istanze di ObjectId
di classe, mentre nella mia app trovo più utile semplicemente avere come una stringa per la quale so che è è unico.
D'altra parte per espressioni come: (mc/find-map-by-id "posts" (new ObjectId id))
dove uso un oggetto String per il parametro id
, devo usarlo per costruire un'istanza di ObjectId
.
C'è un modo per convertire i valori di _id
tra le stringhe nell'applicazione e ObjectId sul lato mongo in modo automatico e trasparente? Qualche tipo di opzione che, quando abilitata, crea mappe con rappresentazioni di stringa di id e viceversa converte le rappresentazioni di stringa di id di oggetti id quando usate come parametri nelle query?
In caso contrario, quali altre strategie sono disponibili?