MongoDB Long 类型 shell 查询

场景

1、某数据ID为Long类型,JAVA 定义实体类 @Id Long id

2、查询数据库,此数据存在

3、使用 shell 查询,查不到数据

4、JAVA代码查询Query.query 不受任何影响

分析

尝试解决(一)

long 在 mongo中为 int64 类型,因此直接传递参数,会丢失精度,所以想到加上引号尝试解决

失败原因

加上双引号以后,变成了字符串,和主键数据类型不一致,因此查不到数据

正确语法

使用NumberLong

示例

js 复制代码
{_id:NumberLong('19343258235046709')}
相关推荐
葫芦和十三10 小时前
图解 MongoDB 19|Oplog:复制的真正载体,不是文档是操作
后端·mongodb·agent
葫芦和十三10 小时前
图解 MongoDB 20|复制延迟与 catch up:Secondary 为什么跟不上
后端·mongodb·agent
GBASE16 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
吃糖的小孩2 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库
葫芦和十三2 天前
图解 MongoDB 17|大集合与工作集:数据超过内存怎么办
后端·mongodb·面试
葫芦和十三2 天前
图解 MongoDB 18|复制集拓扑:Primary、Secondary 和 Arbiter 的分工
后端·mongodb·面试
葫芦和十三3 天前
图解 MongoDB 15|journal 与持久化:写入怎么不丢,崩溃怎么恢复
后端·mongodb·面试
葫芦和十三3 天前
图解 MongoDB 16|压缩:snappy、zstd 和 zlib 的取舍
后端·mongodb·面试
笃行3503 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库