有没有懂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);
控制台抱的错误说必须要用从表主键才能查询。
所以我想请问的是,如果真的只能通过主键来查询,那这个数据库也太不好用了吧,怎么可能存在这么久,想着应该有通过非主键的查询方法吧,所以想请大神们帮忙解答一下,谢谢。