Tôi đoán là sys.inspect
diễn giải một ObjectId
dưới dạng một đối tượng chứa id
tài sản. Đó là những gì bạn đang thấy ở bãi rác.
MongoDB xử lý ObjectId như một giá trị nhị phân 12 byte, không phải là một đối tượng. Vì vậy, MongoDB không biết về bất kỳ id
nào tài sản. Đó là lý do tại sao truy vấn sau không mang lại kết quả:
findOne({_id: {id: item._id.id}}, collection)
Cách sau hoạt động, vì nó chỉ coi cả hai giá trị là giá trị nhị phân:
findOne({_id: item._id}, collection)