【发布时间】:2015-10-15 07:40:38
【问题描述】:
我在 mongodb 集合中有名为 Speech 的数据,其字段 id 和 Speech 格式如下。
{ "speechtext" : "Always be a good boy" },
{ "speechtext" : "Always be a simply guy" },
{ "speechtext" : "Always be a cute boy" },
{ "speechtext" : "I am a girl." }
我必须代表两个关键字(例如“永远是”和“男孩”)获取数据,用于条件和,或,不。
如果条件为“and”,则使用关键字“Always be”进行搜索,“boy”的结果将是 -
{ "speechtext" : "Always be a good boy" },
{ "speechtext" : "Always be a cute boy" }
如果条件为“或”,则使用关键字“永远是”进行搜索,“男孩”的结果将是 -
{ "speechtext" : "Always be a good boy" },
{ "speechtext" : "Always be a simply guy" },
{ "speechtext" : "Always be a cute boy" }
如果条件为“not”,则使用关键字“Always be”进行搜索,“boy”的结果将是 -
{ "speechtext" : "I am a girl." }
我已经有如下“或”条件的解决方案。
db.getCollection('speech').find({"speechtext" : { "$regex" : "Always be|boy"}})
我想查询'and'而不是'条件。
【问题讨论】:
-
请不要混淆样本数据中的
_id值,而只是删除不相关的数据,这也应该准备好“复制粘贴”以使其可用和可测试来源。另请注意,您的格式设置错误。缩进文本用于代码,并让您的“文本”段落不缩进。在离开帖子之前,还要始终检查您的格式是否清晰易读。最后,如果确实是regex问题,则将其标记为这样。
标签: regex mongodb mongodb-query mongodb-java