无法保存mongoose文档:架构类型问题
我试图用邮递员保存猫鼬的数据,数据似乎被保存了 但是当我尝试使用API发布时,没有数据被保存 在邮递员中,我发布了如下内容: 标题内容类型:application/json \var\www\html\Express\nodeauthapp master\app.js无法保存mongoose文档:架构类型问题,mongoose,Mongoose,我试图用邮递员保存猫鼬的数据,数据似乎被保存了 但是当我尝试使用API发布时,没有数据被保存 在邮递员中,我发布了如下内容: 标题内容类型:application/json \var\www\html\Express\nodeauthapp master\app.js const express = require('express'); const path = require('path'); const bodyParser = require('body-parser'); const
const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const cors = require('cors');
const passport = require('passport');
const mongoose = require('mongoose');
const config = require('./config/database');
// Connect To Database
mongoose.connect(config.database);
// On Connection
mongoose.connection.on('connected', () => {
console.log('Connected to database '+config.database);
});
const app = express();
const products = require('./routes/products');
// Port Number
const port = 3000;
// CORS Middleware
app.use(cors());
// Set Static Folder
app.use(express.static(path.join(__dirname, 'public')));
// Body Parser Middleware
app.use(bodyParser.json());
// Passport Middleware
app.use(passport.initialize());
app.use(passport.session());
require('./config/passport')(passport);
app.use('/users', users);
app.use('/products', products);
// Index Route
app.get('/', (req, res) => {
res.send('Invalid Endpoint');
});
// Start Server
app.listen(port, () => {
console.log('Server started on port '+port);
});
const express = require('express');
const router = express.Router();
var mongoose = require('mongoose');
const config = require('../config/database');
const Products = require('../models/products');
// Add Categories
router.post('/add', (req, res, next) => {
//res.send('Products addition');
//Create a model folder
let newProduct = new Products({
category_name: req.body.category_name,
product_name: req.body.product_name,
product_price: req.body.product_price,
product_image: req.body.product_image,
product_desc: req.body.product_desc,
product_status: req.body.product_status,
product_createdat: req.body.product_createdat,
product_updatedat: req.body.product_updatedat
});
Products.addProduct(newProduct, (err, products) => {
if(err){
res.json({success: false, msg:'Product unable to add'});
} else {
res.json({success: true, msg:'Products successfuly added!!'});
}
});
});
module.exports = router;
const mongoose = require('mongoose');
const config = require('../config/database');
// Products Schema
const ProductsSchema = mongoose.Schema({
category_name: {
type: String
},
product_name: {
type: String,
//required: true //had to change this to default
default: true
},
product_price: {
type: String,
default: true
},
product_image: {
type: String,
default: true
},
product_desc: {
type: String,
default: true
},
product_status: {
type: String,
default: true
},
product_createdat: {
type: String,
required: true
},
product_updatedat: {
type: String,
default: true
}
});
const Products = module.exports = mongoose.model('Products', ProductsSchema);
module.exports.addProduct = function(newProduct, callback){
//newProduct.save(callback);
newProduct.save(function(err) {
// we've updated the dog into the db here if (err) throw err;
});
}
\var\www\html\Express\nodeauthapp master\routes\products.js
const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const cors = require('cors');
const passport = require('passport');
const mongoose = require('mongoose');
const config = require('./config/database');
// Connect To Database
mongoose.connect(config.database);
// On Connection
mongoose.connection.on('connected', () => {
console.log('Connected to database '+config.database);
});
const app = express();
const products = require('./routes/products');
// Port Number
const port = 3000;
// CORS Middleware
app.use(cors());
// Set Static Folder
app.use(express.static(path.join(__dirname, 'public')));
// Body Parser Middleware
app.use(bodyParser.json());
// Passport Middleware
app.use(passport.initialize());
app.use(passport.session());
require('./config/passport')(passport);
app.use('/users', users);
app.use('/products', products);
// Index Route
app.get('/', (req, res) => {
res.send('Invalid Endpoint');
});
// Start Server
app.listen(port, () => {
console.log('Server started on port '+port);
});
const express = require('express');
const router = express.Router();
var mongoose = require('mongoose');
const config = require('../config/database');
const Products = require('../models/products');
// Add Categories
router.post('/add', (req, res, next) => {
//res.send('Products addition');
//Create a model folder
let newProduct = new Products({
category_name: req.body.category_name,
product_name: req.body.product_name,
product_price: req.body.product_price,
product_image: req.body.product_image,
product_desc: req.body.product_desc,
product_status: req.body.product_status,
product_createdat: req.body.product_createdat,
product_updatedat: req.body.product_updatedat
});
Products.addProduct(newProduct, (err, products) => {
if(err){
res.json({success: false, msg:'Product unable to add'});
} else {
res.json({success: true, msg:'Products successfuly added!!'});
}
});
});
module.exports = router;
const mongoose = require('mongoose');
const config = require('../config/database');
// Products Schema
const ProductsSchema = mongoose.Schema({
category_name: {
type: String
},
product_name: {
type: String,
//required: true //had to change this to default
default: true
},
product_price: {
type: String,
default: true
},
product_image: {
type: String,
default: true
},
product_desc: {
type: String,
default: true
},
product_status: {
type: String,
default: true
},
product_createdat: {
type: String,
required: true
},
product_updatedat: {
type: String,
default: true
}
});
const Products = module.exports = mongoose.model('Products', ProductsSchema);
module.exports.addProduct = function(newProduct, callback){
//newProduct.save(callback);
newProduct.save(function(err) {
// we've updated the dog into the db here if (err) throw err;
});
}
更新:
\var\www\html\Express\nodeauthapp master\models\products.js
const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const cors = require('cors');
const passport = require('passport');
const mongoose = require('mongoose');
const config = require('./config/database');
// Connect To Database
mongoose.connect(config.database);
// On Connection
mongoose.connection.on('connected', () => {
console.log('Connected to database '+config.database);
});
const app = express();
const products = require('./routes/products');
// Port Number
const port = 3000;
// CORS Middleware
app.use(cors());
// Set Static Folder
app.use(express.static(path.join(__dirname, 'public')));
// Body Parser Middleware
app.use(bodyParser.json());
// Passport Middleware
app.use(passport.initialize());
app.use(passport.session());
require('./config/passport')(passport);
app.use('/users', users);
app.use('/products', products);
// Index Route
app.get('/', (req, res) => {
res.send('Invalid Endpoint');
});
// Start Server
app.listen(port, () => {
console.log('Server started on port '+port);
});
const express = require('express');
const router = express.Router();
var mongoose = require('mongoose');
const config = require('../config/database');
const Products = require('../models/products');
// Add Categories
router.post('/add', (req, res, next) => {
//res.send('Products addition');
//Create a model folder
let newProduct = new Products({
category_name: req.body.category_name,
product_name: req.body.product_name,
product_price: req.body.product_price,
product_image: req.body.product_image,
product_desc: req.body.product_desc,
product_status: req.body.product_status,
product_createdat: req.body.product_createdat,
product_updatedat: req.body.product_updatedat
});
Products.addProduct(newProduct, (err, products) => {
if(err){
res.json({success: false, msg:'Product unable to add'});
} else {
res.json({success: true, msg:'Products successfuly added!!'});
}
});
});
module.exports = router;
const mongoose = require('mongoose');
const config = require('../config/database');
// Products Schema
const ProductsSchema = mongoose.Schema({
category_name: {
type: String
},
product_name: {
type: String,
//required: true //had to change this to default
default: true
},
product_price: {
type: String,
default: true
},
product_image: {
type: String,
default: true
},
product_desc: {
type: String,
default: true
},
product_status: {
type: String,
default: true
},
product_createdat: {
type: String,
required: true
},
product_updatedat: {
type: String,
default: true
}
});
const Products = module.exports = mongoose.model('Products', ProductsSchema);
module.exports.addProduct = function(newProduct, callback){
//newProduct.save(callback);
newProduct.save(function(err) {
// we've updated the dog into the db here if (err) throw err;
});
}
在浏览器中,我得到:
success:false,msg:“产品无法添加”
更新:我这里有完整的angular前端代码:
在postman中,我正在传递API端点
..:3000/产品/添加
addProduct
在没有邮递员的情况下工作???试试这个-newProduct.save(函数(err){//if(err)throw err;}),我们已经将狗更新到数据库中
已更新问题@Utkarsh Dubey,我在broswer中仅看到包含数据的对象,但数据未保存到DB,在postman中,我通过APIs保存。请检查app.js设置中的body parser。我有app.use(bodyParser.json());在我的app.js中,已更新我的完整app.js文件