Supongo que sys.inspect
interpreta un ObjectId
como un objeto que contiene un id
propiedad. Eso es lo que estás viendo en el vertedero.
MongoDB trata el ObjectId como un valor binario de 12 bytes, no como un objeto. Entonces MongoDB no conoce ningún id
propiedad. Es por eso que la siguiente consulta no arroja ningún resultado:
findOne({_id: {id: item._id.id}}, collection)
Lo siguiente funciona, ya que solo trata ambos valores como valores binarios:
findOne({_id: item._id}, collection)