Från dokumentationen:
Mongoose tilldelar vart och ett av dina scheman en id virtuell getter som standard som returnerar dokumentets _id-fält som casts till en sträng, eller i fallet med ObjectIds, dess hexString.
Så i princip id
getter returnerar en strängrepresentation av dokumentets _id
(som läggs till i alla MongoDB-dokument som standard och har standardtypen ObjectId
).
När det gäller vad som är bättre för att referera, beror det helt på sammanhanget (dvs. vill du ha ett ObjectId
eller en string
). Till exempel om du jämför id
s, är strängen förmodligen bättre, som ObjectId
s kommer inte att klara ett jämställdhetstest om de inte är samma instans (oavsett vilket värde de representerar).