有没有懂nosql语句的大神,问一个问题。
我想做一个查询,想利用主表和从表的属性(非主键)查询主表的数据,public class ModuleReport { @Id
String id;
@DBRef(lazy = true)
User user;
String moudleTemplateId;
String moudleTemplate;
Long createTime;
Map<String, Object> data;
public class User {
@Id
public String id;
public String account;
@JsonIgnore //密码不传输到前端
public String password;
public String userName;
public String email;
public String phone;
public String deptId;
eg:想通过moudleTemplateId和从表的deptId来查询所有的ModuleReport 。db.moduleReport.find({"user.deptId" : "100001"},{"user.deptId":1})上面是想先试试是否能通过从表的deptId来找数据。
但是怎么写数据库(可视化工具)都是“fetch 0 record”,找不到数据。
我在网上查资料好多都是说find只能在一个表中进行查询,不能多表查询,
或者用JPA命名规则,
findByMoudleTemplateIdAndUserDeptId(String moudleTemplateId,String deptId);
控制台抱的错误说必须要用从表主键才能查询。
所以我想请问的是,如果真的只能通过主键来查询,那这个数据库也太不好用了吧,怎么可能存在这么久,想着应该有通过非主键的查询方法吧,所以想请大神们帮忙解答一下,谢谢。
我想做一个查询,想利用主表和从表的属性(非主键)查询主表的数据,public class ModuleReport { @Id
String id;
@DBRef(lazy = true)
User user;
String moudleTemplateId;
String moudleTemplate;
Long createTime;
Map<String, Object> data;
public class User {
@Id
public String id;
public String account;
@JsonIgnore //密码不传输到前端
public String password;
public String userName;
public String email;
public String phone;
public String deptId;
eg:想通过moudleTemplateId和从表的deptId来查询所有的ModuleReport 。db.moduleReport.find({"user.deptId" : "100001"},{"user.deptId":1})上面是想先试试是否能通过从表的deptId来找数据。
但是怎么写数据库(可视化工具)都是“fetch 0 record”,找不到数据。
我在网上查资料好多都是说find只能在一个表中进行查询,不能多表查询,
或者用JPA命名规则,
findByMoudleTemplateIdAndUserDeptId(String moudleTemplateId,String deptId);
控制台抱的错误说必须要用从表主键才能查询。
所以我想请问的是,如果真的只能通过主键来查询,那这个数据库也太不好用了吧,怎么可能存在这么久,想着应该有通过非主键的查询方法吧,所以想请大神们帮忙解答一下,谢谢。
解决方案 »
- An unexpected exception has been detected in native code outside the VM
- hibernate相关问题请教
- struts2两个存在Request里的值怎么进行数学运算 急!
- FreeBSD系统-----TOMCAT catalina.sh文件设置内存!
- could not find main class program will exit问题
- spring 配置文件的问题
- [求助]监听器启动出了这个错误怎么搞的?....搞的焦头烂额了..
- 浏览器收藏javaweb的动态jsp页面
- iText生成Pdf的中文问题
- 我第一次碰到的问题!!!!解决后就给分
- 创建SessionFactory异常
- 好神奇的错误
那网上给出的例子误导了我这么久,看书才知道不能多表联结查询。