Я не могу получить доступ к объекту из моей базы данных, потому что он говорит, что object.sth не определен - PullRequest
0 голосов
/ 25 апреля 2020

Я хочу создать блог, используя Express и MongoDB. У меня проблема с получением и доступом к данным из базы данных. В базе данных все работает правильно, и я могу подключиться к базе данных.

Это мой файл "app. js":

var bodyParser = require('body-parser'),
    mongoose = require('mongoose'),
    express = require('express'),
    app = express();

app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({extended: true }));
app.use(express.static('public'));

mongoose.set('useNewUrlParser', true);
mongoose.set('useUnifiedTopology', true);
mongoose.connect('mongodb://localhost/restful_blog_app');

var blogSchema = new mongoose.Schema({
    title: String,
    image: String,
    body: String,
    created: {
        type: Date,
        default: Date.now
    }
});

var Blog = mongoose.model('Blog', blogSchema);

I made a post manually and then I commented it out
// Blog.create({
//     title:"hi",
//     image:"https://unsplash.com/photos/lu17ZHlivDU",
//     body:"hello there!"
// });

app.get('/', function(req, res){
    res.redirect('/blogs');
});

app.get('/blogs', function(req, res){
    //retrieve all the data from db
    Blog.find({}, function(err, blogs){
        if (err) {
            console.log('ERROR!');
        } else {
            res.render('index', {blogs: blogs});
        }
    });
});

Мой "INDEX.e js" file:

<h1>This is the index page!</h1>

<% for(var i = 0; i < blogs.length; i++){ %>
    <div>
        <h2><%= blogs.title %></h2>
        <img src="/<%= blogs.image %>">
        <span><%= blogs.created %></span>
        <p><%= blogs.body %></p>
    </div>
<% } %>

Проблема в том, что я не вижу ничего в моем "/ BLOGS" в браузере в качестве вывода, когда я пишу <%= console.log(typeof blogs) %>.

Он говорит "UNDEFINED" но когда я пишу <%= blogs %>, это отображается в браузере как вывод:

{ _id: 5ea37ad64ad11f2330f2ba72, title: 'Test Blog', image: 'https://unsplash.com/photos/lu17ZHlivDU', body: 'Hello this is a blog post!', created: 2020-04-24T23:48:38.974Z, __v: 0 },{ _id: 5ea389202d2a4b29c853bade, title: 'hi', image: 'https://unsplash.com/photos/lu17ZHlivDU', body: 'hello there!', created: 2020-04-25T00:49:36.834Z, __v: 0 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...