Я абсолютный новичок в этом и использую учебное пособие для изучения основ стека MEAN. Я пытаюсь вернуть документы в моей базе данных на веб-страницу, но вместо этого получаю пустой массив.
Я создал кластер в Mongodb Atlas под названием mytasklist. Здесь я создал базу данных под названием mytasklistdb. Внутри этого у меня есть таблица (объект) с именем mytasklistdb.mytasklisttutorial. Мое понимание этого ограничено, и, возможно, я где-то здесь делаю огромную ошибку. У меня есть опыт работы с SQL, но не с Mongo, и поэтому для меня новость о кластерах и коллекциях.
В любом случае мой код выглядит следующим образом. Я взял строку для подключения к базе данных на вкладке подключения Mongo.
var express = require('express');
var router = express.Router();
var mongojs = require('mongojs');
var db = mongojs('mongodb+srv://myusername:mypassword@mytasklist-qx0ka.mongodb.net/test?retryWrites=true&w=majority', ['mytasklisttutorial']);
router.get('/tasks', function(req, res, next){
db.mytasklistdb.find(function(err, tasks){
if(err){
res.send(err);
}
res.json(tasks);
});
});
module.exports = router;
Мои объекты базы данных выглядят так:
_id:5db5f1f31c9d440000c3e7fe
title:"Walk the dog" - this is a string
isDone:false - this is boolean
Я просто получаю пустой массив, но вУчебник парень получает эти «документы». Что я делаю не так?
РЕДАКТИРОВАТЬ: я понял, что часть «задач» в учебном примере была связана с базой данных под названием «задачи». Мой называется «mytasklistdb». Поэтому я изменил это. Я также добавил параметр с именем моей коллекции в строку, переданную mongojs.
Я изменил свой код выше, чтобы отразить это