无法使用mongoose创建索引

时间:2016-08-27 03:31:31

标签: node.js mongodb express mongoose

我正在使用Mongoose的Node.js应用程序中构建搜索功能,在Mongo中创建一个全文搜索索引:

postSchema = mongoose.Schema({
        xx : String
        .......
    }).index({
          'xx':'text'
        });
    Post = mongoose.model('Post',postSchema);

按如下方式执行搜索:

find = {'$text':{'$search':query}};
findScore = {'score':{'$meta':'textScore'}};
sort = {'score': {'$meta':'textScore'} };
Post.find(find, findScore).sort(sort).exec(function (err, data) {
          if (err){
            logging.log(err);
          } else {
            logging.log(data);
          }
                });

运行程序时,出现以下错误: '无法执行查询:错误处理查询\ n计划程序返回错误:$ text query需要一个文本索引'

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

一个集合最多可以有一个文本索引。您需要检查以前创建的任何文本索引。