在地图字段中搜索

时间:2012-02-22 20:46:00

标签: mongodb morphia

我正在使用吗啡。正如你所知道的简单搜索,我可以使用它:

q.field("fieldname").containsIgnoreCase(texttosearch); 

但我的字段类型是地图。所以我必须改变它(使用点):

q.field("mapname.fieldname").containsIgnoreCase(texttosearch);

但我想再次搜索所有领域。我可以通过重复所有字段来完成此操作。问题是我的字段数不是静态的。  我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您不应将其存储为地图,而应存储为键/值对的数组/列表。然后,您可以搜索关键字段并对其进行索引。这不是morphia目前为你做的事情,而是可能是Map的替代存储格式的东西。这将是一种非常不同的格式。

请查看此讨论以获取更多background