场景 1、某数据ID为Long类型,JAVA 定义实体类 @Id Long id 2、查询数据库,此数据存在 3、使用 shell 查询,查不到数据 4、JAVA代码查询Query.query 不受任何影响 分析 尝试解决(一) long 在 mongo中为 int64 类型,因此直接传递参数,会丢失精度,所以想到加上引号尝试解决 失败原因 加上双引号以后,变成了字符串,和主键数据类型不一致,因此查不到数据 正确语法 使用NumberLong 示例 {_id:NumberLong('19343258235046709')}