Sunday 15 August 2010

express - Constructing document yields semi-empty result -



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:

class="lang-javascript prettyprint-override">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