首页 > 解决方案 > 如何使用 NodeJS express 框架从 MongoDB 中搜索关键字(错误:MongoDB schema.index 不是函数)

问题描述

我正在尝试使用 NodeJS express 框架搜索 MongoDB 文档中的关键字。我正在使用猫鼬的搜索文本,但出现“错误”:“Minutes.index 不是函数”

架构:

const MinutesSchema = new Schema({  
            
    minute_id :{
        type: Number,
        required: true
    },

    minute_type :{ 
        type: String, 
        default: "",
    },
        
    description :{ 
        type: String, 
        default: ""
    },
  
}, {collection:"pm_meeting_minutes"});

const Minutes = mongoose.model('pm_meeting_minutes', MinutesSchema);

exports.Minutes = Minutes;

//这是我在我的模型函数中尝试过的

exports.getSearch = () => {
 
   Minutes.index({ minute_type: "text"});
   
   return Minutes.find( { $text: { $search: "Issue" } } )

}

//我不断得到的错误是

"error": "Minutes.index 不是函数"

//预期输出

从 MongoDB 获取所有包含 minute_type="Issue" 的文档

请帮我调试代码。

标签: node.jsmongodbexpressmongoose

解决方案


代替

const Minutes = mongoose.model('pm_meeting_minutes', MinutesSchema);

exports.Minutes = mongoose.model('pm_meeting_minutes', MinutesSchema);

并在结束行删除导出


推荐阅读