我有一个有3个文件的对象:
public class tags{
@Property("n")
private String name;
@Property("t")
private int type;
@Property("r")
private int rank;
.....
}
我正在使用morphia与我的MongoDB进行通信。
我想将al文件保存到数据库,但是在进行retreiving时我只想根据对象中的'name'和'type'字段进行查询。我尝试过使用@Transient Annotation,但它在加载/保存期间完全忽略了该字段。
答案 0 :(得分:2)
这是一个非常常见的用例。
morphia wiki描述了使用过滤器或流畅的界面:https://github.com/mongodb/morphia/wiki/Query#wiki-filter
以下是一个例子:
ds.createQuery(tags.class).field('name').equal('idbentley').field('type').equal(1);
答案 1 :(得分:0)
如果您正在寻找有限的查询结果,https://github.com/mongodb/morphia/wiki/Query#wiki-ignoring-fields将涵盖以下内容:
ds.createQuery(tags.class).retrievedFields(true, "name", "type").get();
请注意,您应该只阅读这些有限的结果集或回写特定值。如果将它们保存回来,您将丢失所有未检索到的值。