外部サーバーのMongoDBに接続してユーザーを挿入するNodeスクリプトを作成しようとしています。私はlocalhostを使って数十のチュートリアルで見つけた基本的なものです。私が試したことが何であっても、それらのチュートリアルに従えば、私はTypeErrorを取得しているようです:undefinedは関数メッセージではありません。私はこれがMongoとNodeの両方に新しいことが原因であることを知っていますが、残念ながらこれを理解するのは簡単ではありません。なぜノードのmongooseは、未定義が関数ではないことを伝えていますか?
私が持っているコードには関係のないWebページはなく、この場合はバックエンド接続であると考えられます。コードは次のとおりです。
var User = require('/var/www/html/testing/folder1/User.js');
var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://root:(Server Admin Password)@(I.P address of the server)/(Database Name)');
var newUser = User({
_id: "KM529",
email: "[email protected]",
name: "John Smith",
password: "password",
photo: "a picture url"
});
newUser.save(function(err){
if(err){
console.log(err);
throw err;
}
console.log('User save successfully');
});
上記は実際に実行されているファイルです。必要な追加のファイルがある:私はすでに15+同様のstackoverflowの質問を見ていると、まだそれらのどれもが、私はこの問題を解決するために許可されていない
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
// Creates a schema to be used for all user documents
var userSchema = new Schema({
_id: { type:String, required: true, unique: true },
email: { type: String, required: true, unique: true },
name: { type: String, required: true },
password: { type: String, required: true} ,
photo: String,
});
var User = mongoose.model('User', userSchema);
module.exports = User;
。誰かが私を正しい方向に向けることができれば、私は永遠に感謝しています。
編集:私は取得していますエラーは次のとおりです。
/var/www/html/testing/pokemon/node_modules/mongoose/lib/connection.js:282
var promise = new Promise.ES6(function(resolve, reject) {
^
TypeError: undefined is not a function
at NativeConnection.Connection.open (/var/www/html/testing/pokemon/node_modules/mongoose/lib/connection.js:282:17)
at Mongoose.connect (/var/www/html/testing/folder1/node_modules/mongoose/lib/index.js:241:47)
at Object.<anonymous> (/var/www/html/testing/pokemon/test.js:8:10)
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 Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:906:3
どのようなエラーが発生していますか? –
のどこに問題があるのか分からずに何がうまくいかないのかは分かりにくいです。 – KM529
どのバージョンのノードとマングースを使用していますか?なぜ 'mongoose.Promise'を' global.Promise'でオーバーライドするのですか?それが問題だろうか? – jmunsch