@Entity
public class UserInfo {
@Id
public ObjectId id;
public List<Group> groups;
}
public class Group {
public int size;
public String groupName;
public Group(groupName){};
public Group(groupName,size){};
}
Datastore ds = xxxx;
存一个UserInfo 在它的groups集合中加一个group,name为groupName1
ds.find(UserInfo.class).filter("groups",new Group("groupName1")).get()
ds.find(UserInfo.class).filter("groups.groupName","groupName1").get()
两者都可以query得到对象,翻译成sql就是遍历groups,找出groupName为groupName1的 遍历中只要存在一个就返回这个 userInfo
ds.find(UserInfo.class).filter("groups",new Group("groupName1",1)).get()
得不到翻译成sql就是遍历groups,找出groupName为groupName1并且 size=0的只要有一个出现 就返回userInfo
ds.find(UserInfo.class).filter("groups",new Group("groupName1",0)).get()
能得到,size为int型,默认是值是0;