【发布时间】:2021-08-20 15:09:02
【问题描述】:
所以基本上我有一串消息,我想获得与 关键字
匹配的文档要匹配的标签:时间、家庭
const sample_message = "This user have a challenge of Time and Family"
document_1 = {
challenge: Object ID 1
keywords: [ "Time", "Test" ]
}
document_2 = {
challenge: Object ID 2
keywords: [ "Family", "Test2" ]
}
document_3 = {
challenge: Object ID 3
keywords: [ "Foo", "Test3" ]
}
const result = model.find(keywords: { new Regexp(sample_message) })
console.log(result)
我需要返回所有与 sample_message 中的关键字匹配的文档,即“时间”和“家庭”。有人能解释一下正确的方法吗?
【问题讨论】:
-
那么,这里的拦截器是什么?
-
应该像
let keywords = extract_keywords(sample_message); model.find({keywords: keywords})一样简单 -
基本上我需要将匹配关键字的文档返回到sample_message。我需要有人解释正确的方法。
-
@SergioTulentsev 但我将如何提取关键字。我相信使用 find all 和 for 循环关键字来匹配 sample_message 是一个坏主意。
-
我的示例中没有循环。它一次查询所有关键字。至于如何提取它们,这是一个超出此处范围的特定领域问题(我们不知道您的应用程序中的“关键字”是什么)。首先,您可以简单地将字符串拆分为空格,以便所有单词都是关键字。
标签: javascript node.js mongodb mongoose