Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 获取mongoose(MERN)中新创建的mongo文档的时间戳_Node.js_Mongodb_Api_Express_Mongoose - Fatal编程技术网

Node.js 获取mongoose(MERN)中新创建的mongo文档的时间戳

Node.js 获取mongoose(MERN)中新创建的mongo文档的时间戳,node.js,mongodb,api,express,mongoose,Node.js,Mongodb,Api,Express,Mongoose,我正在做一个twitter克隆来学习MERN stack,这里有一个新的推文路线 router.route('/new') .post( (req, res) => { const { errors, isValid } = validateTweet(req.body); if (!isValid) { return res.status(400).json(errors); }

我正在做一个twitter克隆来学习MERN stack,这里有一个新的推文路线

router.route('/new')
    .post( (req, res) => {

        const { errors, isValid } = validateTweet(req.body);
        
        if (!isValid) {
            return res.status(400).json(errors);
        }
        let tweet = new Tweet({
            content: req.body.content,
            created_by: req.user.id
        })
        User.findById(req.user.id, (err, user) => {
            if (err) return res.status(400).json(err)
            
            user.tweets.push(tweet._id);
            user.save();
        });
        tweet.save();

        return res.status(201).json(tweet);
    });
它不会返回tweet的时间戳,在返回tweet之前,我如何在不查询数据库的情况下实现这一点? 以下是以防万一的模型:

const tweetSchema = new Schema({
    content: {
        type: String,
        required: true,
        minlength: 1,
        maxlength: 128,
        trim: true
    },
    created_by: {
        type: Schema.Types.ObjectId, ref: 'User',
        required: true
    }
}, {
    timestamps: true
});

const Tweet = mongoose.model('Tweet', tweetSchema);

我最后做的是使函数
异步
,然后返回完成的
save()
的结果。不确定这是否是一个好的做法

router.route('/new')
    .post( async (req, res) => {

        const { errors, isValid } = validateTweet(req.body);
        
        if (!isValid) {
            return res.status(400).json(errors);
        }
        let tweet = new Tweet({
            content: req.body.content,
            created_by: req.user.id
        })
        User.findById(req.user.id, (err, user) => {
            if (err) return res.status(400).json(err)
            
            user.tweets.push(tweet._id);
            user.save();
        });
        tweet = await tweet.save();

        return res.status(201).json(tweet);
    });

为什么不能在插入时使用
new Date()
?它的格式是否与mongodb时间格式相同?不确定这是否有效这不只是一个格式问题吗?你想要什么格式的时间戳?ISO<代码>日期为您提供该信息,请参见文档。