Brug af objekter som _id i MongoDB

MongoDB

At bruge objekter som _id-felter i MongoDB kan være farligt. Det burde stå med fed rød tekst, men det står trods alt i den officielle dokumentation:

"Unlike JavaScript objects, the fields in a BSON document are ordered."

Så man kan utilsigtet have dokumenter som { _id: { name: "Launchpad", surname: "McQuack" } } og { _id: { surname: "McQuack", name: "Launchpad" } } i den samme collection.

Jeg har kun stødt på dette problem én gang i produktionskode, og heldigvis var det mange år siden. Men jeg ser stadig folk, der bruger objekter som identifikatorer eller hasher objekter uden at sortere properties, deraf dette indlæg.