我试图通过新的MongoDB特征针脚使用文本操作符运行查询。我已经尝试了一些选项,但是呼叫响应以下消息:
未知运算符:$ search
如何解决此错误?
我也创建了文本索引。
{
"v" : 2,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "script_text_description_text",
"ns" : "test.scripts",
"weights" : {
"description" : 1,
"script" : 1
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 3
}
尝试#1:
client.executePipeline([{
"service": "mongodb-atlas",
"action": "aggregate",
"args": {
"database": "test",
"collection": "scripts",
"pipeline": [{
$match: {
$text: {
$search: "docker"
}
}
}
]
}
}])
尝试#2:
db.collection('scripts').find({"$text":{"$search":'docker'}})
尝试#3:
db.collection('scripts').aggregate([{
"$match": {
"$text": {
"$search": "docker"
}
}
}])
答案 0 :(得分:1)
Stitch产品的Beta版本目前不支持Stitch管道聚合操作中的全文搜索,但我们希望在Stitch达到GA(一般可用性)时支持它们。
答案 1 :(得分:0)
2年后,情况仍然相同,$text
在Stitch中不受支持:
https://mongodb.canny.io/mongodb-stitch/p/full-text-search
您是如何实现文本搜索的?现在,MongoDB Atlas具有文本搜索功能,但仅在M30集群和更大的集群上可用: