Mongoose的model.update在Node中不起作用.js



我有一个Node.js应用程序,它正在使用Mongoose更新MongoDB数据库中的数据。

我已经设置了Mongoose模型,我能够成功地使用model.find和model.remove函数,但我无法让model.update函数工作。

有人能帮我吗?

/* ------------------------ Finding/Querying works ----------------------
Flot.find({ "label": "Trips Per Day"}, function (err, docs) {
  res.jsonp(docs || err);
});
*/

/* ------------------------ Removing works -----------------------
Flot.remove({ "label": "Trips Per Client" }, function (err) {
  if (err) return handleError(err);
  res.json(err || "removed");
});
*/

var conditions = { "label": "Average Tons per Delivery" };
var update = { "label": "Average Tons per Delivery 2" };
var options = { };
var callback = function callback(err, numberAffected, rawResponse) {
    if (err) return handleError(err);
  console.log('Error: ', err);
  console.log('NumberAffected: ', numberAffected);
  console.log('RawResponse: ', rawResponse);
    res.json(err || rawResponse || numberAffected );
};
 Gage.update( conditions, update, options, callback );

我能够使用node mongodb本机实现这一点。我仍然不确定Mongoose为什么不工作,但至少我有一些工作要做。

var query = {"label": "Average Tons per Delivery"};
var update = {"type": "vertical"};
var options = {};
MongoClient.connect('mongodb://localhost/db', function(err, db) {
  if(err) throw err;
db.collection('justgage').findAndModify(
    query,
    [['_id','asc']],
    {$set: update},
    options,
    function(err, object) {
      res.jsonp("Ok");
    });
});

最新更新