Mongoose: вставка объекта JS непосредственно в db

Хорошо, поэтому у меня есть объект JS, который отправляется через AJAX к серверу nodejs. Я хочу вставить этот js-объект непосредственно в свой mongoose db, поскольку ключи объектов уже полностью соответствуют схеме db.

В настоящее время у меня это (не динамическое и чрезмерно сложное):

app.post('/items/submit/new-item', function(req, res){ var formContents = req.body.formContents, itemModel = db.model('item'), newitem = new itemModel(); newitem.item_ID = ""; newitem.item_title = formContents.item_title; newitem.item_abv = formContents.item_abv; newitem.item_desc = formContents.item_desc; newitem.item_est = formContents.item_est; newitem.item_origin = formContents.item_origin; newitem.item_rating = formContents.item_rating; newitem.item_dateAdded = Date.now(); newitem.save(function(err){ if(err){ throw err; } console.log('saved'); }) res.send('item saved'); }); 

Но хочу обрезать это примерно так (сексуально и динамично):

 app.post('/items/submit/new-item', function(req, res){ var formContents = req.body.formContents, formContents.save(function(err){ if(err){ throw err; } console.log('saved'); }) res.send('item saved'); }); 

Если вы используете такой плагин с mongoose ( http://tomblobaum.tumblr.com/post/10551728245/filter-strict-schema-plugin-for-mongoose-js ), вы можете просто собрать массив в своей форме, например newitem[item_title] и newitem[item_abv] – или item[title] и item[abv]

Вы также можете просто передать весь req.body если элементы совпадают там. Этот плагин MongooseStrict будет отфильтровывать любые значения, явно не установленные в вашей схеме, но он все равно оставляет проверки типов и проверки до mongoose. При правильных методах проверки, установленных в вашей схеме, вы будете в безопасности от любых атак инъекций.

EDIT: Предполагая, что вы внедрили плагин, вы сможете использовать этот код.

 app.post('/items/submit/new-item', function(req, res){ new itemModel(req.body.formContents).save(function (e) { res.send('item saved'); }); });