关于MongoTemplate通过id查询为null的问题_MongoDB

来源:脚本之家  责任编辑:小易  

Mongo的优势

1. 它会把数据文件映射到内存中,如果是读操作,内存中的数据起到缓存的作用,如果是写操作,内存还可以把随机的写操作转换成顺序的写操作,总之可以大幅度提升性能。MongoDB并不干涉内存管理工作,而是把这些工作留给操作系统的虚拟内存管理器去处理,这样做的好处是简化了MongoDB的工作,但坏处是你没有方法很方便的控制MongoDB占多大内存,幸运的是虚拟内存管理器的存在让我们多数时候并不需要关心这个问题。

2. MongoDB的内存使用机制让它在缓存重建方面更有优势,简而言之:如果重启进程,那么缓存依然有效

配置:

spring.data.mongodb.uri=mongodb://test:123456@${ipAddr}:27017/mrqc?connectTimeoutMS=10000&authSource=admin

版本:

<dependency>
 <groupId>org.springframework.data</groupId>
 <artifactId>spring-data-mongodb</artifactId>
 <version>2.2.0.RELEASE</version>
</dependency>

错误实体类

MongoId设置为了String,需要设置为ObjectId类型

@Data
@Document("user")
public class User {
 @MongoId
 private String id;
 @Field("userName")
 private String userName;
}

正确实体类

@Data
@Document("user")
public class User {
 @MongoId
 private ObjectId id;
 @Field("userName")
 private String userName;
}

查询语句,如果mongoId类型为String那么就查询不出来,无论是直接使用
findById方法或者find(query)或者id传ObjectId对象,都是查不出来的,开始还以为配置错了,结果是因为Mongo的id都是ObjectId无法对应上实体类中的String类型。改成ObjectId同样的语句就可以查询出来了

User user = mongoTemplate.findById(new ObjectId(userId),User.class, "user");

到此这篇关于关于MongoTemplate通过id查询为null的问题的文章就介绍到这了,更多相关MongoTemplate查询为null内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:Spring Boot之搞定mongoTemplate的知识小结Node.js使用MongoDB的ObjectId作为查询条件的方法PHP库 查询Mongodb中的文档ID的方法python操作mongodb根据_id查询数据的实现方法java查询mongodb中的objectid示例

  • 本文相关:
  • mongodb凭什么跻身数据库排行前五
  • mongodb数据库入门之curd简单操作示例
  • mongodb磁盘io问题的3种解决方法
  • ubuntu 14.04 安装 mongodb 及 php mongodb driver详细介绍
  • 详解mongodb数据库基础操作及实例
  • mongodb系列教程(四):设置用户访问权限
  • mongodb常用操作命令大全
  • centos7.2 安装 mongodb 3.4的教程
  • 深入理解mongodb的复合索引
  • mongodb查询之高级操作详解(多条件查询、正则匹配查询等)
  • 使用SpringMVC + MongoDB时,用or条件匹配关键字时...
  • MongoTemplate连接的关闭
  • mongoTemplate怎么写多条件查询mongoDB中的数据
  • MongoDB内嵌数组文档,怎么只针对数组里的数据做增...
  • python中如何判断mongodb查询结果为空?
  • mongodb数据库怎么查询出某一段时间内的数据
  • mongodb如何查询某个字段的最大值?
  • 用mongoTemplate向mongoDB插入数据,怎么才能不带_...
  • 查询MongoDB数据库中某个集合的ID时,查出了一部分...
  • 怎么用mongoTemplate实现多条件查询mongodb中的数据
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页spring boot之搞定mongotemplate的知识小结node.js使用mongodb的objectid作为查询条件的方法php库 查询mongodb中的文档id的方法python操作mongodb根据_id查询数据的实现方法java查询mongodb中的objectid示例mongodb凭什么跻身数据库排行前五mongodb数据库入门之curd简单操作示例mongodb磁盘io问题的3种解决方法ubuntu 14.04 安装 mongodb 及 php mongodb driver详细介绍详解mongodb数据库基础操作及实例mongodb系列教程(四):设置用户访问权限mongodb常用操作命令大全centos7.2 安装 mongodb 3.4的教程深入理解mongodb的复合索引mongodb查询之高级操作详解(多条件查询、正则匹配查询等)mongodb常用操作命令大全mongodb各种查询操作详解mongodb数据库插入、更新和删除操mongodb 数据库操作--备份 还原 mongodb插入数据的3种方法mongodb中使用distinct去重的简单浅谈mysql和mariadb区别(mariadbmongodb整库备份与还原以及单个cmongodb查询操作限制返回字段的方mongodb 实现远程连接mongodb 数据类型(null/字符串/数字/日期windows10安装mongodb4.0详细步骤及启动配java操作mongodb数据库方法详解初识nosql nosql数据库入门 nosql数据库基centos 6.4创建mongodb副本集详解mongodb主从复制搭建详细过程mongodb禁止外网访问及添加账号的操作方法mongodb进阶之动态字段设计详解mongodb数据库的特色和优点介绍mongodb分片详解
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved