Min gissning är att sys.inspect
tolkar ett ObjectId
som ett objekt som innehåller ett id
fast egendom. Det är vad du ser på soptippen.
MongoDB behandlar ObjectId som ett 12-byte binärt värde, inte som ett objekt. Så MongoDB känner inte till något id
fast egendom. Det är därför följande fråga inte ger något resultat:
findOne({_id: {id: item._id.id}}, collection)
Följande fungerar, eftersom det bara behandlar båda värdena som binära värden:
findOne({_id: item._id}, collection)