位于6的JSON中出现意外的标记d

时间:2016-05-20 14:38:12

标签: json node.js mongodb mongoose

我尝试使用mongoosejs,mongodb和nodejs进行crud操作。 虽然我试图发布一个帖子请求我得到一个错误(" JSON在6号和34号的意外令牌d;)并且无法弄清楚为什么我得到它。顺便说一下检索部分(获取请求)是否正常工作。对节点和mongodb来说是新的,继承我的代码

节点应用

 var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var Book = require('./Book.model');

var db = 'mongodb://localhost/Book';

mongoose.connect(db);

var port = 3000;

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
   extended:true
}));

app.get('/',function(req,res){
      res.send('Hello :)');
});

app.get('/books',function (req,res) {
  Book.find({}).exec(function (err,books) {
      if(err){
         res.send('Erorr '+err);
      }else {
         res.json(books);
      }
  });
});

app.get('/books/:id',function (req,res) {
  Book.findOne({
    _id:req.params.id
  }).exec(function (err,books) {
      if(err){
         res.send('Erorr '+err);
      }else {
         res.json(books);
      }
  });
});

app.post('/books',function (req,res) {
  var newBook = new Book();
  newBook.title=req.body.title;
  newBook.author=req.body.author;
  newBook.catrgory=req.body.category;
  newBook.save(function (err,books) {
    if (err) {
      res.send('error saving book '+err);
    }else {
      res.json(books);
    }
  });
});

app.listen(port,function () {
  console.log('app listening on port '+port);
});

模型,模式

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var BookSchema = new Schema({
  title:String,
  author:String,
  catrgory:String
});

module.exports = mongoose.model('Book',BookSchema);

1 个答案:

答案 0 :(得分:2)

app.post('/books',function (req, res) {
 Book.create(req.body)
   .then(function (createdBook) {
       //On success return a created object
       return res.json(createdBook);
    })
   .catch(function (err) {
      //On error return error
      return res.json(err);
    });
  });
});

修改

使用方法create将对象保存在db中。 你能告诉我们你要保存的对象吗?