我想在mongodb list元素中找到部分字符串匹配 例如我的搜索字符串是:
“你好世界我们在火星上”
我的记录标签是:
我想只获得第2号记录,其中一个的数组元素匹配
答案 0 :(得分:2)
这可能不是您正在寻找的确切答案。但是,我已经概述了我的想法,以便您重新考虑要求和可能的解决方案。
您可能需要重新考虑如何设计解决方案。您可能无法在单个Mongo查询中实现预期,因为通常数据库属性将包含更多文本,搜索字符串将具有更少的单词。根据您的问题,您的要求与之相反。
MongoDB中典型文本搜索的一种可能解决方案是" Text"索引和使用" $ text"和" $ search"在找到。
https://docs.mongodb.com/manual/reference/operator/query/text/#op._S_text
创建文字索引: -
db.collectionname.createIndex({words:" text"})
db.words.find( { $text: { $search: "Hello world we are on mars", $caseSensitive: true } } )
结果将是:1和3
您还可以通过将转义的双引号括起来来执行词组搜索(\")。