Mongodb 如何在集合中搜索单个关键字的每个实例

Mongodb 如何在集合中搜索单个关键字的每个实例,mongodb,Mongodb,我试图找出如何在集合中搜索关键字的每个实例。例如,我想在集合中搜索单词“authenticated”的每个实例。以下是包含关键字的集合中其中一个文档的外观: { "_id": { "$oid": "55945938d28f9f3809002afc" }, "TAGS": ".source.s_net", "SOURCEIP": "10.10.0.5", "SEQNUM": "11004", "PROGRAM": "Core",

我试图找出如何在集合中搜索关键字的每个实例。例如,我想在集合中搜索单词“authenticated”的每个实例。以下是包含关键字的集合中其中一个文档的外观:

{
    "_id": {
        "$oid": "55945938d28f9f3809002afc"
    },
    "TAGS": ".source.s_net",
    "SOURCEIP": "10.10.0.5",
    "SEQNUM": "11004",
    "PROGRAM": "Core",
    "PRIORITY": "info",
    "MESSAGE": "<pppoe-jjcutter>: authenticated",
    "LEGACY_MSGHDR": "Core ",
    "HOST_FROM": "10.10.0.5",
    "HOST": "10.10.0.5",
    "FACILITY": "syslog",
    "DATE": "Jul  1 14:18:48"
}
{
“_id”:{
$oid:“55945938d28f9f3809002afc”
},
“标签”:“.source.s_net”,
“SOURCEIP”:“10.10.0.5”,
“SEQNUM”:“11004”,
“计划”:“核心”,
“优先级”:“信息”,
“消息”:“已验证”,
“遗产”——“核心”,
“主机从”:“10.10.0.5”,
“主机”:“10.10.0.5”,
“设施”:“系统日志”,
“日期”:“7月1日14:18:48”
}
检查我的github

getByCondition(String tableName,Map condition),调用此方法,其中tableName是集合名称,Map是键值

映射条件=新HashMap()

条件.put(“消息”,“已验证”)//或者别的什么东西


您将收到Json格式的数组列表。请使用类型标记转换为数组列表。

您可以使用通配符文本索引。
测试数据

db.people.insert({name: "Martin", remarks: "great architector"})
db.people.insert({name: "John", remarks: "awesome SO user, great programmer"})
db.people.insert({name: "Tony The Great", remarks: "inventor"})
通配符索引

db.people.createIndex({"$**" : "text"})
质疑

您将获得所有3条记录。

在查找中使用,如下所示:

db.messages.find({"MESSAGE":{"$regex":"(\\s|^)authenticated(\\s|$)"}})
或者,如果您想找出经过验证的
值的精确匹配,请使用以下查询:

db.messages.find({"MESSAGE":"authenticated"})

要搜索的内容,要在
消息
中搜索
authenticated
关键字?消息是键,authenticated是值-集合是“messages”。我想搜索集合“messages”中的值“authenticated”。谢谢yogesh!工作得很有魅力!我已经做了4天了。
db.messages.find({"MESSAGE":"authenticated"})