Můj odhad je, že sys.inspect
interpretuje ObjectId
jako objekt obsahující id
vlastnictví. To je to, co vidíte na skládce.
MongoDB zachází s ObjectId jako s 12bajtovou binární hodnotou, nikoli jako s objektem. MongoDB tedy neví o žádném id
vlastnictví. To je důvod, proč následující dotaz nepřináší žádný výsledek:
findOne({_id: {id: item._id.id}}, collection)
Následující funguje, protože s oběma hodnotami zachází jako s binárními hodnotami:
findOne({_id: item._id}, collection)