用于全文搜索的Elmongo插件

时间:2013-11-11 19:04:01

标签: node.js mongodb

我正在尝试使用Node.js的Elmongo插件,我在插件方面遇到了一些麻烦。这是我的代码:

var mongoose = require('mongoose');
var elmongo = require('elmongo');
var Schema = mongoose.Schema;

var twitterSchema = new Schema ({
 id: {type: Number, index: {unique: true, dropDups: true}},
 created_at: Date,
 user: [{
 id: Number,
 name: String,
 screen_name: String,
 location: String
 }],
 text: String,
 keywords: []
});

twitterSchema.plugin(elmongo);

var Tweets = mongoose.model('Tweets', twitterSchema);

twitterSchema.sync(function(err, numSynced){
 console.log("number of tweets synced: " + numSynced);
});

twitterSchema.search({query: 'flu'}, function(err, results){

 console.log('search results: ' + results);

});

exports.Document = function(db) {

 return db.model('Tweets');

};

我收到的错误消息是:

module.js:340
    throw err;
          ^
Error: Cannot find module 'elmongo'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/Users/Documents/UCIMedCenterProject/MedStream-feature.sentiment-analysis/models.js:2:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)

我查了一些错误,得到的是我需要重新安装模块,但这也不起作用。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

您应该在项目目录中安装此模块(在命令行中转到项目目录,然后运行“npm install elmongo”)

答案 1 :(得分:0)

如果存在名称为elmongo的文件夹,则应检查node_modules文件夹内部。如果没有尝试再次安装模块。 尝试以管理员身份安装。

  

sudo npm install elmongo