Я пытаюсь подключить кластер mongodb (ранее сохраненный локально), при загрузке он показывает, что кто-то установил соединение, но могут загружать только страницы, где база данных не используется, для других, например, для отправки новых данных, это показывает это через некоторое время. в атласе он показывает, что коллекции не были сделаны.
D:\college\project1 - Copy\node_modules\mongodb\lib\utils.js:725
throw error;
^
MongoError: MongoClient must be connected before calling MongoClient.prototype.db
at MongoClient.db (D:\college\project1 - Copy\node_modules\mongodb\lib\mongo_client.js:306:11)
at D:\college\project1 - Copy\app.js:32:31
at D:\college\project1 - Copy\node_modules\mongodb\lib\utils.js:722:9
at D:\college\project1 - Copy\node_modules\mongodb\lib\mongo_client.js:216:23
at D:\college\project1 - Copy\node_modules\mongodb\lib\operations\connect.js:274:21
at QueryReqWrap.callback (D:\college\project1 - Copy\node_modules\mongodb\lib\core\uri_parser.js:56:21)
at QueryReqWrap.onresolve [as oncomplete] (dns.js:206:10) {
name: 'MongoError',
[Symbol(mongoErrorContextSymbol)]: {}
}
мое приложение. js
var express = require("express");
var app = express();
require('dotenv').config()
var bodyparser = require("body-parser");
const MongoClient = require('mongodb').MongoClient;
const uri = "mongodb+srv://my name:my password in url encoded@letsstart-ncn7i.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(err => {
const collection = client.db("test").collection("devices");
// perform actions on the collection object
client.close();
});var mongoose = require("mongoose");
var passport = require("passport");
var localp = require("passport-local");
var plm = require("passport-local-mongoose");
var moment = require("moment");
var methodOverride = require("method-override");
app.use(express.static(__dirname + "/public"));
app.set("view engine", "ejs");
var Campground = require("./models/campground");
var Comment = require("./models/comment");
var User = require("./models/user");
var flash = require("connect-flash");
////////////// же ошибка с этим
mongoose.connect('mongodb+srv://myname:mypassword@letsstart-ncn7i.mongodb.net/test?retryWrites=true&w=majority', {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true
}).then(() => {
console.log('Connected to DB');
}).catch(err => {
console.log('ERROR :', err.message);
});
server started
ERROR : querySrv ETIMEOUT _mongodb._tcp.letsstart-ncn7i.mongodb.net