私の推測では、sys.inspect ObjectId
を解釈します idを含むオブジェクトとして 財産。それがあなたがダンプで見ているものです。
MongoDBは、ObjectIdをオブジェクトとしてではなく、12バイトのバイナリ値として扱います。したがって、MongoDBはidを認識しません。 財産。そのため、次のクエリでは結果が得られません。
findOne({_id: {id: item._id.id}}, collection)
以下は、両方の値をバイナリ値として扱うだけなので、機能します。
findOne({_id: item._id}, collection)