2017-05-17 21 views
0

所以基本上,我创建一个库存管理应用程序,并且希望向用户显示更新的记录,而不仅仅是更新的字段,而是整个文档本身。我的问题是是否可以显示整个更新的记录而不是更新的字段?

*我如何显示整个更新的记录,而不是更新的领域给用户? *

我使用邮递员来测试这个API。这是我的代码,那些带有注释的是我尝试过的。

var MongoClient = require('mongodb').MongoClient; 
var assert = require('assert'); 
var url = 'mongodb://localhost:27017/myproject'; 

module.exports = { 
/*getCollection : function(req, res){ 
    var issueQty = req.body.issueQty; 
    var itemDescrip = req.body.itemDescrip; 
    MongoClient.connect(url,function(err,db){ 
     assert.equal(null,err); 
     var doc = findMultiple(db,req,function() { 
      db.close(); 
     }); 
    }); 
     res.send(doc) 
}*/ 
postCollection : function(req, res){ 
    var issueQty = req.body.issueQty; 
    var itemDescrip = req.body.itemDescrip; 
MongoClient.connect(url, function(err, db) { 
    assert.equal(null, err); 
    updateRecord(db, req, function() { 
    db.close(); 
    }); 
    //findMultiple(db, req, function(){ 
    //db.close(); 
    //}); 
}); 
    res.send('Record Found. Now updating this document...' + itemDescrip + ' 
Record Updated. This is the new record with updated issueQty ' 
    + issueQty) 
} 
} 
var updateRecord = function(db, req, callback) { 
db.collection('documents').updateMany(
    { 'Item Description': req.body.itemDescrip}, 
    { 
    $set: { 'Issued QTY': req.body.issueQty } 
    } 
    , 
    function(err, results) { 
    console.log(results); 
    console.log('Done'); 
    callback(); 
}); 
}; 
/*var findMultiple = function(db, req, callback){ 
var issueQty = req.body.issueQty; 
var itemDescrip = req.body.itemDescrip; 
var cursor = db.collection('documents').find({'Issued QTY': issueQty, 'Item 
Description': itemDescrip}); 
cursor.each(function(err,doc){ 
    assert.equal(err,null); 
    if(doc != err){ 
     console.log('Successfully queried'); 
     console.log(doc); 
     return doc; 
    } else { 
     callback(); 
    } 

}); 
};*/ 

我试图把另一个功能findMultiple来获取数据并显示在响应更新的记录,但它没有工作,有想过我的查询API和更新的API连接在一起,但我不知道如何去做吧。任何帮助表示赞赏,谢谢!

回答

0

您需要:

  1. 里面updateRecord(),调用回调更新操作
  2. postCollection()results对象,传递给updateRecord()回调将有机会获得results对象


postCollection : function(req, res){ 
    var issueQty = req.body.issueQty; 
    var itemDescrip = req.body.itemDescrip; 
    MongoClient.connect(url, function(err, db) { 
    assert.equal(null, err); 
    updateRecord(db, req, function(results) { 
    res.send('Document...') //Do what you want with results here 
    db.close(); 
    }); 
}); 

var updateRecord = function(db, req, callback) { 
    db.collection('documents').updateMany(
    {'Item Description': req.body.itemDescrip}, 
    {$set: { 'Issued QTY': req.body.issueQty }}, 
    function(err, results) { 
     console.log(results); 
     console.log('Done'); 
     callback(results); //pass results to the callback 
    }); 
}; 
相关问题