Я пытался разработать сервер с nodejs, который связан с NO SQL DB, в частности, я разработал его с помощью MONGODB. Я не уверен, что мне удастся его правильно подключить, потому что, если я запустил приведенный ниже код, он должен вернуть идентификатор вставленного элемента, но он выводит на выходе пустое поле, в случае, если я заменяю asyn c на при нормальном развитии он возвращает следующую ошибку «MongoError: топология закрыта, пожалуйста, подключитесь». Я пытался использовать строки кода с / комментарием под кодом / , но он возвращает другую ошибку.
Я думаю, что у меня нет хорошего соединения mongodb с моим сервером, но я не знаю, что я следую командам, доставляемым в mongodb, шаг за шагом. (Создать кластер (бесплатно), создать пользователя, создать базу данных, а затем коллекцию, а затем подключитесь, используйте информацию, установленную ранее.)
Я сказал это, потому что я обновил sh кластер на mongodb, но я не получил никаких изменений
const MongoClient = require('mongodb').MongoClient;
const password = encodeURIComponent('22');
const user=encodeURIComponent('id');
const dbs = encodeURIComponent('users');
const uri = "mongodb+srv://${user}:${password}@cluster/${dbs}?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true ,useUnifiedTopology:true, connectTimeoutMS: 30000 , keepAlive: 1});
(async()=>{
await client.connect();
const databse=client.db("users");
const collection=databse.collection("readers");
const result= await collection.insertOne( {
"name":"Chocolate",
"ingredients":[
"eggs","chocolates"
]
});
console.log(result.insertedId);
//client.close();
});
/*
client.connect(err => {
const collection2 = client.db("users").collection("readers");
// perform actions on the collection object
var myobj = { name: "Ajeet Kumar", age: "28", address: "Delhi" };
collection2.insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("1 record inserted");
//client.close();
});
});
*/