Mongodb Mongoose创建多个索引

Mongodb Mongoose创建多个索引,mongodb,express,indexing,mongoose,Mongodb,Express,Indexing,Mongoose,我有一个问题,我想为mongodb实现全文搜索,所以我被困在数据库中,因为数据库只为文本搜索创建了一个索引,我想有多个搜索字段。。架构的exmaple: 名称:{ 类型:字符串, 要求:正确, 特里姆:没错, 索引:“文本” }, 分包商名称:{ 类型:字符串, 修剪:对 }, 地点:[{ 地理:{ 类型:[编号], 索引:“2d” }, 说明:{ 类型:字符串, 特里姆:没错, 索引:“文本” }, 地址:{ 城市:{ 类型:字符串, 索引:“文本” }, 街道:{ 类型:字符串, 索引:“

我有一个问题,我想为mongodb实现全文搜索,所以我被困在数据库中,因为数据库只为文本搜索创建了一个索引,我想有多个搜索字段。。架构的exmaple:

名称:{
类型:字符串,
要求:正确,
特里姆:没错,
索引:“文本”
},
分包商名称:{
类型:字符串,
修剪:对
},
地点:[{
地理:{
类型:[编号],
索引:“2d”
},
说明:{
类型:字符串,
特里姆:没错,
索引:“文本”
},
地址:{
城市:{
类型:字符串,
索引:“文本”
},
街道:{
类型:字符串,
索引:“文本”
},
声明:{
类型:字符串,
索引:“文本”
}

},
试试这样的方法:

var schema= new Schema({
  name: String,
  sub_name: String,
  tags: { type: [String], index: true } // field level
});

schema.index({ name: 'text', sub_name: 'text' }); // schema level

创建多个文本索引。这将有助于全文搜索

  • 查找索引:
    db.collectionName.getIndexes();

  • 而不是删除索引名:
    db.campaings.dropIndex('Name_text');

  • 在多个键上创建索引:
    db.campaings.ensureIndex({name:'text',description:'text',tags:'text'});


  • 那么我如何在描述中应用索引呢?schema.index({'location.description':'text',键入:'text'});?我从来没有在mongoose中的嵌套字段上创建过索引,但由于这是在mogno shell中创建索引的方式(通过指定路径),我想这也是它在mongoose中应该如何工作的。schemaObj.index({'location.description':'text',键入:'text'});