2017-05-17 24 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 
    }); 
}; 
相關問題