我在Java中使用Play框架和Play-Morphia来使用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的消息。例如,我知道如何在list中执行此操作,但不知道如何使用hashmap对象执行此操作。如果有任何建议,我将不胜感激。谢谢。
发布于 2013-03-18 03:26:06
HashMap很难查询。我建议您将您的MessageBasicInfo重新组织为
public class MessageBasicInfo implements IModel {
public String key;
public Boolean value;
}然后您可以通过以下方式查询所有true value消息:
Message.q("basicInfo.value", true).asList();https://stackoverflow.com/questions/15463022
复制相似问题