[英]Atlas search on an ObjectId field doesn't work
我試圖在 ObjectId 字段上實現 Atlas 搜索查詢,但沒有匹配。 這是索引定義。
{
"mappings": {
"dynamic": false,
"fields": {
"hscode": {
"foldDiacritics": true,
"maxGrams": 4,
"minGrams": 1,
"tokenization": "edgeGram",
"type": "autocomplete"
},
"title": {
"foldDiacritics": true,
"maxGrams": 10,
"minGrams": 2,
"tokenization": "edgeGram",
"type": "autocomplete"
},
"type._id": {
"type": "objectId"
}
}
}
}
查詢詳情如下
db.categories.aggregate([
{
$search:{
index:"categorySearch",
equals:{
path:"type._id",
value:ObjectId("61711b4275e9397ec79bdfed")
}
}
}
])
注意:自動完成查詢工作正常。 提前謝謝你。
對於那些面臨此問題的人,請將索引定義中的點表示法更改為對象。 所以,
type._id:{type:ObjectId()}
應該改為
type:{_id:{type:ObjectId()}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.