Неожиданный токен d в JSON в позиции 6

Я пытаюсь выполнить грубую операцию, используя mongoosejs, mongodb и nodejs. пока я пытаюсь сделать почтовый запрос, я получаю сообщение об ошибке («Неожиданный токен d в JSON на позиции 6») и не мог понять, почему я его получаю. кстати, часть извлечения (запрос получения) работает правильно. im новый для node и 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);

person TRomesh    schedule 20.05.2016    source источник
comment
Было бы неплохо увидеть трассировку стека [stackoverflow.com/a/33593443/4989460].   -  person stdob--    schedule 20.05.2016
comment
Можете ли вы показать, как и какие данные вы публикуете. Кажется, bodyParser пытается проанализировать тело, но тело не отформатировано должным образом json.   -  person Molda    schedule 20.05.2016
comment
Molda Opps, я забыл упомянуть, что использую Postman для отправки запроса на отправку   -  person TRomesh    schedule 20.05.2016


Ответы (1)


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. Вы можете показать нам объект, который хотите сохранить?

person IARKI    schedule 20.05.2016
comment
ЯРКИ Было бы неплохо объяснить. Кстати, я все еще получаю ту же ошибку. - person TRomesh; 20.05.2016