2017-04-16 4 views
0

で()クエリを探します。しかし、私はエラーを取得しておくマングースは、私は以下のように接続設定をしているNodeJsボット

Defintion.find({term: 'cpf life'}, function (err, definition) { 
    if (err) { 
    session.send("Something went wrong with the mongoose query: " + err); 
    } else { 
    session.send("I will define " + termToDefine + " for you..."); 
    session.send(definition); 
    } 
}); 

:私は以下のようにクエリを作ってるんだ

mongoose.connect('mongodb://127.0.0.1:27017/cpfdb'); 
var Schema = mongoose.Schema; 
var definitionSchema = new Schema({ 
    type: String, 
    term: String, 
    desccription: String 
}); 
var Defintion = mongoose.model('Definition', definitionSchema); 
module.exports = Defintion; 

events.js:141 
     throw er; // Unhandled 'error' event 
    ^

TypeError: key.replace is not a function 
    at DefaultLocalizer.escapeKey (/Users/user/Desktop/GitHub Projects/cpfbot/node_modules/botbuilder/lib/DefaultLocalizer.js:204:20) 
    at DefaultLocalizer.createKey (/Users/user/Desktop/GitHub Projects/cpfbot/node_modules/botbuilder/lib/DefaultLocalizer.js:196:33) 
    at DefaultLocalizer.trygettext (/Users/user/Desktop/GitHub Projects/cpfbot/node_modules/botbuilder/lib/DefaultLocalizer.js:69:24) 
    at DefaultLocalizer.gettext (/Users/user/Desktop/GitHub Projects/cpfbot/node_modules/botbuilder/lib/DefaultLocalizer.js:86:21) 
    at Session.vgettext (/Users/user/Desktop/GitHub Projects/cpfbot/node_modules/botbuilder/lib/Session.js:538:35) 
    at Session.createMessage (/Users/user/Desktop/GitHub Projects/cpfbot/node_modules/botbuilder/lib/Session.js:521:24) 
    at Session.sendLocalized (/Users/user/Desktop/GitHub Projects/cpfbot/node_modules/botbuilder/lib/Session.js:179:26) 
    at Session.send (/Users/user/Desktop/GitHub Projects/cpfbot/node_modules/botbuilder/lib/Session.js:168:48) 
    at /Users/user/Desktop/GitHub Projects/cpfbot/app.js:38:33 
    at Query.<anonymous> (/Users/user/Desktop/GitHub Projects/cpfbot/node_modules/mongoose/lib/model.js:3709:16) 
    at /Users/user/Desktop/GitHub Projects/cpfbot/node_modules/mongoose/node_modules/kareem/index.js:273:21 
    at /Users/user/Desktop/GitHub Projects/cpfbot/node_modules/mongoose/node_modules/kareem/index.js:127:16 
    at nextTickCallbackWith0Args (node.js:420:9) 
    at process._tickCallback (node.js:349:13) 

(mongooseを使用しないで)mongoldbシェルで確認したところ、クエリは正常に動作しています。 key.replace is not a functionに関する情報が見つかりません...

+0

セッション変数とは何ですか?そして、termToDefine変数?私は定義にCONSOLE.LOGするsession.sendとtermToDefineを変更している - そして、あなたの例では、私のために正常に動作します。 –

答えて

1

私はあなたの問題はmongooseとは思わないです。

session.send(definition); 

ボットフレームワークが組み込まれていlocalizationサポートと最初の試みあなたは、外部リソースファイルにkeyとしてsession.send()に渡し、すべてを解決するために:私はそれがでだと思います。 escape方法は次の処理を行います。

key.replace(/:/g, "--").toLowerCase(); 

stringあるにkeyあなたが合格したことを、もちろん、前提としています。デバッグを介して、または、正確にあなたがsession.send()に渡すdefinitionが何であるかを簡単なconsole.logを使用して確認してください。

関連する問題