MongoTemplate.findById查不到数据的一种情况:由写入时未指定_id造成的
MongoTemplate.findById()方法是根据mongo的索引字段_id去查找的。在创建数据文档的时候,如果文档的_id没有被指定,则被自动创建一个24位的字符串作为_id的值。即使指定了主键如下:sh.shardCollection("db1.coll1",{"uuid":1})_id也不会被uuid取代。所以,如果想根据自定义的id去查找文档内容,在创建文档时,无论如何要明确将_i
·
MongoTemplate.findById()方法是根据mongo的索引字段_id去查找的。
在创建数据文档的时候,如果文档的_id没有被指定,则被自动创建一个24位的字符串作为_id的值。即使指定了主键如下:
sh.shardCollection("db1.coll1",{"uuid":1})
_id也不会被uuid取代。
所以,如果想根据自定义的id去查找文档内容,在创建文档时,无论如何要明确将_id指定为目标值。
更多推荐
所有评论(0)