*解决代码
mongoTemplate.findOne(Query.query(Criteria.where("_id").is(new BsonObjectId(new ObjectId(id)))),x.class)

有图有真相!网上那些全都没试过就在那乱说!!!!!
网上找到的全都是直接用**new ObjectId(id)**然而并没有什么用,实际使用的是BsonObjectId它接收一个ObjectId的参数。不过Mongo也够曹丹的!
本文讲述了在使用MongoTemplate进行MongoDB查询时,作者发现网上的资源常常误导使用`newObjectId(id)`,实际上应使用`BsonObjectId(ObjectId)`。作者提供了正确的代码片段以解决实际问题。
*解决代码
mongoTemplate.findOne(Query.query(Criteria.where("_id").is(new BsonObjectId(new ObjectId(id)))),x.class)

有图有真相!网上那些全都没试过就在那乱说!!!!!
网上找到的全都是直接用**new ObjectId(id)**然而并没有什么用,实际使用的是BsonObjectId它接收一个ObjectId的参数。不过Mongo也够曹丹的!