我正在使用吗啡。正如你所知道的简单搜索,我可以使用它:
q.field("fieldname").containsIgnoreCase(texttosearch);
但我的字段类型是地图。所以我必须改变它(使用点):
q.field("mapname.fieldname").containsIgnoreCase(texttosearch);
但我想再次搜索所有领域。我可以通过重复所有字段来完成此操作。问题是我的字段数不是静态的。 我该如何解决这个问题?
答案 0 :(得分:3)
您不应将其存储为地图,而应存储为键/值对的数组/列表。然后,您可以搜索关键字段并对其进行索引。这不是morphia目前为你做的事情,而是可能是Map的替代存储格式的东西。这将是一种非常不同的格式。
请查看此讨论以获取更多background