Я запускаю учебник Hello World в GCP.И я застреваю на шаге server.js.
Код server.js следующий:
'use strict';
const mongodb = require('mongodb');
const http = require('http');
const nconf = require('nconf');
let uri = 'mongodb+srv://my_name:<mypassword>@mydatabase-clr75.gcp.mongodb.net/test?retryWrites=true&w=majority';
if (nconf.get('mongoDatabase')) {
uri = `${uri}/${nconf.get('mongoDatabase')}`;
}
console.log(uri);
mongodb.MongoClient.connect(uri, (err, db) => {
if (err) {
throw err;
}
// Create a simple little server.
http.createServer((req, res) => {
if (req.url === '/_ah/health') {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.write('OK');
res.end();
return;
}
const collection = db.collection('Messages');
var datetime = new Date();
const msg = {
msgDescription: '\nHello World received on ' + datetime
};
collection.insert(msg, (err) => {
if (err) {
throw err;
}
// push out a range
let msglist = '';
collection.find().toArray((err, data) => {
if (err) {
throw err;
}
data.forEach((msg) => {
msglist += `${msg.msgDescription}; `;
});
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.write('Messages received so far:\n');
res.end(msglist);
});
});
}).listen(process.env.PORT || 8080, () => {
console.log('started web process');
});
});
Я получаю сообщение об ошибке, как показано ниже:
mongodb + srv: // my_name: @ mydatabase-clr75.gcp.mongodb.net / test? RetryWrites = true & w = Большинство /home/herboratory/node_modules/mongodb/lib/url_parser.js:19 выбросить новую ошибку ('неверная схема, ожидаемый mongodb');^ Ошибка: неверная схема, ожидаемый mongodb в module.exports (/home/herboratory/node_modules/mongodb/lib/url_parser.js:19:11) при подключении (/home/herboratory/node_modules/mongodb/lib/mongo_client.js:486: 16) в Function.MongoClient.connect (/home/herboratory/node_modules/mongodb/lib/mongo_client.js:250:3) в Object.(/home/herboratory/server.js:12:21) в файле Module._compile (module.js: 653: 30) в Object.Module._extensions..js (module.js: 664: 10) в Module.load (module.js: 566: 32) в tryModuleLoad (module.js: 506: 12) в Function.Module._load (module.js: 498: 3) в Function.Module.runMain (module.js: 694: 10) npmERR!код ELIFECYCLE npm ERR!errno 1 npm ERR!test@1.0.0 start: node
server.js
npm ERR!Статус выхода 1 npm ERR!нпм ERR!Ошибка при запуске сценария test@1.0.0.нпм ERR!Это, вероятно, не проблема с npm.Вероятно, есть дополнительные выходные данные регистрации.нпм ERR!Полный журнал этого прогона можно найти в: npm ERR!
/home/herboratory/.npm/_logs/2019-06-26T03_58_26_823Z-debug.log
Мне было интересно, это должнобыть ошибкой формата после прочтения некоторых других постов здесь с той же строкой ошибки, поэтому я попробовал '...', "..." и без кавычек, но все еще остается ошибкой.Не могли бы вы указать мне, где ошибка?
Кроме URI, есть ли где-то еще, что мне также нужно изменить внутри кода?Насколько я знаю из инструкции, мне просто нужно вставить собственную строку подключения Atlas.
Большое спасибо.