express - Constructing document yields semi-empty result -
after executing customer.create({customername: 'john'}), next document created without error , without 'customername' node.
can tell me why seemingly simple document creation phone call yields semi-blank document? document in response mongoose same in database itself.
i can't tell if i'm using mongoose incorrectly or express incorrectly. in advance help.
{ __v: 0, _id: 5452dc48d687bad849d70816 }
routes/customer.js
var mongoose = require( 'mongoose' ); var client = mongoose.model( 'customer'); exports.create = function(req, res) { customer.create({ customername: 'john' }, function(err, customer) { if (err) homecoming err; console.log('customer created', customer); res.send(customer); }); }
schema/customer.js
var mongoose = require('mongoose'); var customerschema = new mongoose.schema({ customername: { type: string, required: false } });
db.js
var mongoose = require( 'mongoose' ); var dburi = 'mongodb://localhost/customerdatabase'; mongoose.connect(dburi); var customerschema = require( '../schema/customer.js' ); var client = mongoose.model( 'customer', customerschema);
routes.js
function setuproutes(app, path) { var db = require('../model/db.js') var client = require( '../routes/customer.js' ); app.post('/customer', customer.create); } module.exports.setuproutes = setuproutes;
you need export customerschema
customer.js when db.js requires file, value exported schema:
var mongoose = require('mongoose'); var customerschema = new mongoose.schema({ customername: { type: string, required: false } }); module.exports = customerschema;
however, more typical pattern create model in customer.js , export that:
class="lang-javascript prettyprint-override">var mongoose = require('mongoose'); var customerschema = new mongoose.schema({ customername: { type: string, required: false } }); module.exports = mongoose.model('customer', customerschema);
express mongoose
No comments:
Post a Comment