Java中MongoDB返回ObjectId的差异

摘要:
如果MongoDB以这种方式在Java中使用,那么swagger接口中收到的结果可能与预期不一致。1.搜索语句mongoTemplate.find;注意,Object的类型在上面的语句中直接使用。2.单步调试结果3。swagger界面的结果如上图所示_ id的值不同,但实际值相同。在代码中,id以字符串的形式显示,而在swagger中,id显示为ObjectId的对象。

  在Java中使用MongoDB时若是通过这样的方式查询,在swagger接口中收到的结果可能会与期望不一致。

  1、检索语句

mongoTemplate.find(query, Object.class, collectionName);

  注意了,上述语句中是直接采用Object的类型。

  2、单步调试的结果

Java中MongoDB返回ObjectId的差异第1张

  3、swagger接口的结果

Java中MongoDB返回ObjectId的差异第2张

  在上面两幅图中,_id的值展示有差异的,不过实质的值都是相同的。在代码中_id是以字符串的形式展示,而在swagger中_id是以ObjectId的对象展示。

免责声明:文章转载自《Java中MongoDB返回ObjectId的差异》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇常见文本框提示css技巧消息队列和管道的区别(转载)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

unity resources文件夹作用

本篇文章讨论了Unity中的Resources系统。通过Resources系统,开发者可以将Asset资源放在一个或多个名为Resources的文件夹中,并且在运行时利用ResourcesAPI来加载或卸载这些Asset中的Object。 1 Resources系统的最佳实践 不要使用它! 强烈不建议使用Resources系统,原因如下: 1.1使用Res...

swagger2的常用注解,传递参数的注意使用方法

背景介绍: 刚开始的时候,在controller层使用@RequestParam的时候,发现这个参数是必须要输入值的,但是我们有时候必须查询的时候允许参数为空,使用这个注解就不行了。 在集成了swagger2后,找了半天的原因,发现使用@ApiImplicitParam这个注解可以解决这个问题。 对应下面的参数。 所以我们可以使用这个注解来解决我们所遇到...

linux运维、架构之路-分布式存储Ceph

一、Ceph介绍        Ceph是一个Linux PB级分布式文件系统,能够在维护POSIX兼容性的同时加入了复制和容错功能。Ceph号称高可用的分布式存储系统,通过多个MON节点(通常为3个)维护集群的状态及元数据信息,而真正存储数据的OSD节点通过向MON节点汇报状态,并通过CRUSH算法将数据副本布局到相应OSD的所在磁盘上,完成数据的持久化...

Java 使用 Map 实现缓存工具

以下代码参考于网上,做了小部分修改。 该代码实现了定时清除临时缓存的功能。 缓存管理类 1 package com.wbproject.util.cache; 2 3 import java.time.LocalDateTime; 4 import java.time.format.DateTimeFormatter; 5 impor...

MongoDB地理空间(2d)索引创建与查询

LBS(Location Based Services)定位服务,即根据用户位置查询用户附近相关信息,这一功能在很多应用上都有所使用。基于用户位置进行查询时,需要提供用户位置的经纬度。为了提高查询速度,MongoDB为坐标平面查询提供了专门的索引,称作地理空间(2d)索引。 1. 创建地理空间索引 地理空间索引又称为2d索引。创建其它形式的索引,我们会按升...

多线程中Object的wait(),notify()和Condition的wait()和singal()对锁的关联

通常将共享资源的操作放置在Sysnchronized定义的区域内,这样当其他线程也获取到这个锁时,必须的等待锁被释放时才能进入该区域。Object为任意一个对象,每个对象都存在一个标志位,并具有两个值,分别为0和1。一个线程运行到同步块时,首先检查该对象的标志位,如果为0状态,表明此同步块中存在其他线程在运行。这时该线程处于就绪状态,直到处于同步块中的线程...