Мне трудно понять, почему мой код не позволяет мне получать документы, которые находятся в моем кластере MongoDB Atlas. Я сделал небольшой пример с той же проблемой, с которой я сталкиваюсь.
import * as mongoose from 'mongoose';
import { Schema } from 'mongoose';
class App {
init(): void {
this.connect();
this.query();
}
private connect(): void {
mongoose.connect('<the string MongoDB Atlas gave me>', { useNewUrlParser: true, useUnifiedTopology: true }, (err: any) => {
if (err) {
console.log(err);
}
});
}
query(): void {
let Drawing = mongoose.model('Drawing',
new Schema({ name: String, tags: [String], data: String }),
'drawings');
Drawing.find({}, (err, res) => {
console.log(res);
});
}
}
let app = new App();
app.init()
Вывод console.log (res):
[]
В MongoDB Atlas, я вывели правильный ip в белый список, создали кластер и настроили доступ к нему, затем создали базу данных с именем testdb, в которой есть коллекция "рисунков" со следующим образцом документа:
{ "_id":{
"$oid":"5e6042af1c9d440000f0341b"
},
"name":"Cat",
"tags":[
"animal",
"cute"
],
"data":"hadlkahdwlh28ueu2097094527dhaskdhak"
}