TypeError:无法读取未定义的属性“ comment_text”

时间:2018-08-04 11:12:41

标签: node.js express postman

我已经声明了一个名为def fillna(self,axis=None,mask=None,value=None,method='pad'): """ array fillna Parameters ---------- self : 1d/2d axis : axis(0 or 1) mask : Custom mask, or Built np.isfinite(x) value : int method : 'back', 'pad', 'mean' -------- """ x = np.asarray(self) if mask is None: mask = np.isfinite(x) if (not value is None)|(method=='mean'): out = x.copy() if x.ndim == 1: if method=='mean': out[~mask] = np.nanmean(x) else: out[~mask] = value else: vask = ~mask * (np.nanmean(x,1)[:,None] if axis==1 else np.nanmean(x,0)) out[~mask] = vask[~mask] else: if axis is None: axis = 0 if x.ndim==1: if method=='pad': idx = np.where(mask,np.arange(mask.shape[0]),0) np.maximum.accumulate(idx,axis=0,out=idx) return x[idx] elif method=='back': idx = np.where(mask[::-1],np.arange(mask.shape[0]),0) np.maximum.accumulate(idx,axis=0,out=idx) return x[mask.shape[0]-idx[::-1]-1] else: return x if axis==1: if method=='back': mask = mask[:, ::-1] idx = np.where(mask,np.arange(mask.shape[1]),0) else: if method=='back': mask = mask[::-1,:] idx = np.where(mask,np.arange(mask.shape[0])[:,None],0) np.maximum.accumulate(idx,axis=axis,out=idx) if axis==1: if method=='back': idx = idx.shape[1]-idx[:, ::-1] - 1 out = x[np.arange(idx.shape[0])[:,None], idx] else: if method=='back': idx = idx.shape[0]-idx[::-1, :] - 1 out = x[idx,np.arange(idx.shape[1])] return out 的文件,其中包含一些字段:

commentSchema

这是我的路由器文件:

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const moment = require('moment');


var commentSchema = new Schema ({
    comment_text: {type: String, required: true},
    user_token: {type: String, required: true},
    activity_id: { type: Schema.ObjectId, ref: 'Activity', required: true },
    is_hidden: { type: Boolean, "default": false },
    created_at: { type: Number, "default": moment().unix() },
    updated_at: { type: Number, "default": moment().unix() }
})

module.exports = mongoose.model('Comment', commentSchema);

我正在尝试使用var Router = require('router'); var router = Router(); var express = require('express'); var app = express(); // importing Models var userSchema = require('./models/userSchema.js'); var activitySchema = require('./models/activitySchema.js'); var commentSchema = require('./models/commentSchema'); // Parsing the informations get from the client var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: false})); router.get('/comments', (req, res) => { }); router.post('/comment', (req, res) => { var newComment = { comment_text: req.body.comment_text, user_token: req.body.user_token, activity_id: req.body.activity_id } console.log(newComment); commentSchema.create(newComment, (err) => { if (err){ console.log(err); } else{ console.log('DONE!'); } }) }) module.exports = router; 发送发帖请求,但出现以下错误:

POSTMAN

enter image description here

1 个答案:

答案 0 :(得分:0)

摘自router的文档。它说您必须使用以下内容:

router.use(bodyParser.json())