【问题标题】:How can I get createAt object?如何获取 createAt 对象?
【发布时间】:2020-08-17 11:07:22
【问题描述】:

我现在正在使用 node js 构建一个简单的网站。
但是,在创建过程中,没有输出文档中的对象。 下面的代码是一个简单的模式。

// model/Post.js

const PostSchema = new Schema({
    title: String,
    body: String,
    createdAt: {
        type: Date,
        default: Date.now
    },
    updatedAt: Date
});
// routes/posts.js

const express = require('express');
const app = express.Router();
const Post = require('../models/Post');

router.get('/', function(req, res){
    const query = Post.find({});
    query.select('-createdAt');
    query.exec(function(err, posts){
        if (err) return console.error(err);
        res.render('posts/index', { posts: posts });
    });
});

我想在postSchema中加载createdAt并用html打印出来,我该怎么办?
下面是部分html代码。

<!-- views/posts/index.ejs -->

<% posts.forEach(post => { %>
<tr>
  <td>
    <a class="nav-link" href="/posts"><div class="ellipsis"><%= post.title %></div></a>
  </td>
  <td><%= post.createdAt %></td> <!-- I want to print createdAt -->
</tr>
<% }) %>

我正在使用包 express、ejs、mongoose

如何打印 createdAt 对象?

【问题讨论】:

    标签: javascript html node.js mongoose


    【解决方案1】:

    在您的代码中删除 query.select('-createdAt'),基​​本上它会在结果中删除 createdAt,并且您将从架构中获取所有其他属性。

    router.get('/', function(req, res){
        const query = Post.find({});
        query.exec(function(err, posts){
            if (err) return console.error(err);
            res.render('posts/index', { posts: posts });
        });
    });
    

    【讨论】:

      猜你喜欢
      • 2023-02-05
      • 2015-10-20
      • 2015-11-02
      • 2019-08-08
      • 1970-01-01
      • 2022-12-15
      • 2010-11-17
      • 2015-07-29
      相关资源
      最近更新 更多