我正在使用Play框架和Play-Morphia在Java中使用MongoDb。 我得到了一个实体消息,其定义如下:
@Entity
public class Message{
public String senderId;
public Date date;
public String initiatorId;
@Embedded public MessageBasicInfo basicInfo;
}
MessageBasicInfo定义如下:
public class MessageBasicInfo implements IModel{
public HashMap<String, Boolean> recipients;
}
现在,我想从Mongo中检索它们在收件人的hashmap中的值为true的消息。 我知道如何在列表中执行此操作但不知道如何使用hashmap对象执行此操作。 我会感激任何建议。 感谢。
答案 0 :(得分:0)
HashMap很难查询。我建议您将MessageBasicInfo
重新整理为
public class MessageBasicInfo implements IModel {
public String key;
public Boolean value;
}
然后您可以通过以下方式查询所有true
值消息:
Message.q("basicInfo.value", true).asList();