在地图字段中搜索

发布于 2025-01-08 03:59:51 字数 321 浏览 0 评论 0原文

我正在使用吗啡。正如你所知,对于一个简单的搜索,我可以使用这个:

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

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

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

但我想再次在所有字段中搜索。我可以通过对所有字段重复操作来简单地做到这一点。问题是我的字段数不是静态的。 我该如何解决这个问题?

I'm using morphia. As u know for a simple search I can use this:

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

But my field type is map. So I must change it like this(use dot):

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

But again I want to search in all fields. I can simply do this by repeating for all fields. The problem is my field count is not static.
How can I solve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

紙鸢 2025-01-15 03:59:51

您不应该将其存储为映射,而应存储为键/值对的数组/列表。然后你可以搜索关键字段,并对其建立索引。这不是吗啡目前为您做的事情,而是可以作为 Map 的替代存储格式。这将是一种非常不同的格式。

查看此讨论,了解更多背景

You should store it not as a map, but as an array/list of key/value pairs. Then you can search the key field, and index it. This is not something morphia does for you at the moment but something which could be an alternate storage format for Map. It would be a very different format.

Take a look at this discussion for more background

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文