MEA*_*bid 1 javascript mongoose node.js express bluebird
我有这个问题 我很累 我无法解决这个问题Cast to string failed for value \"{}\" at path \"post\
{
"confirmation": "fail",
"message": {
"message": "Cast to string failed for value \"{}\" at path \"post\"",
"name": "CastError",
"stringValue": "\"{}\"",
"kind": "string",
"value": {
},
"path": "post"
}
}
Run Code Online (Sandbox Code Playgroud)
希望你能帮助我
索引.html
<h1>CreateComment</h1>
<form action="/api/comment" method="post">
<input type="text" name="post" placeholder="Post" /><br />
<input type="text" name="text" placeholder="Text"><br />
<input type="submit" value"Create" />
</form>
Run Code Online (Sandbox Code Playgroud)
评论.js
var mongoose = require('mongoose')
var CommentSchema = new mongoose.Schema({
profile: {type: mongoose.Schema.Types.Mixed, default: {}},
post: {type: String, default:{}},
text: {type: String, default: ''},
timestamp: {type:Date, default:Date.now}
})
module.exports = mongoose.model('CommentSchema', CommentSchema);
Run Code Online (Sandbox Code Playgroud)
控制器.js
var Comment = require('../models/Comment')
var promise = require('bluebird')
module.exports = {
post: function(params, isRaw) {
return new Promise(function(resolve, reject) {
Comment.create(params, function(err, comment) {
if (err) {
reject(err)
return
}
console.log(comment)
resolve(comment)
})
})
}
}
Run Code Online (Sandbox Code Playgroud)
api.js
var express = require('express');
var router = express.Router();
var controllers = require('../controllers');
router.post('/:resource', function(req, res, next) {
var resource = req.params.resource;
var controller = controllers[resource];
if (controller == null) {
res.json({
confirmation: 'fail',
message: 'Invalid Resource'
})
return
}
controller.post(req.body, false)
.then(function(result) {
res.json({
confirmation: 'success',
result: result
})
})
.catch(function(err) {
res.json({
confirmation: 'fail',
message: err
})
})
})
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
这是我所有的代码
小智 5
我认为 {} 不是“post”成员的有效默认值。
post: {type: String, default:{}},
Run Code Online (Sandbox Code Playgroud)
“post”默认值要么是一个字符串,您需要提供一个,要么是一个空对象,然后类型不应该是“String”。
| 归档时间: |
|
| 查看次数: |
8856 次 |
| 最近记录: |