Mongoose 更新参数为空

发布于 2022-09-04 15:19:03 字数 1075 浏览 8 评论 0

初始化 ' update = {'$inc': {"Prodects.$.price": 1}},'

但无法传入update 参数中, 结果为'$inc': {} ,

版本号

node v6.6.0 
"mongoose": "^4.7.5",
MongoDB shell version v3.4.0

app.js

#开启调试模式
var mongoose = require('mongoose').set('debug', true);;

router.js

router.get('/test', function(req, res, next){

var conditions = {"Prodects.id": "2"},
          update =  {'$inc': {"Prodects.$.price": 1}},
          options =  {upsert:true};
          
      CartModel.update(conditions, update, options, function(err) {
      });
});

终端显示第二个参数的数据为空, 但是声明的是一个对象

hotnode  node process restarted

{ '$inc': { 'Prodects.$.price': 1 } }
Mongoose: carts.update({ 'Prodects.id': '2' }, { '$inc': {}, '$setOnInsert': { __v: 0 } }, { upsert: true })

第二个参数 ---- '$inc': {} , 初始化 ' update = {'$inc': {"Prodects.$.price": 1}},'

以至于无法更新数据库中的数据

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心碎无痕… 2022-09-11 15:19:03

Mongoose遇到的问题汇总

var conditions = {"Prodects.id": "2"},
          update =  {'$inc': {"Prodects.$.price": 1}},
          options =  {upsert:true};

      CartModel.update(conditions, update, options, function(err) {
      });
});

打印结果

{ '$inc': { 'Prodects.$.price': 1 } }
Mongoose: carts.update({ 'Prodects.id': '2' }, { '$inc': {}, '$setOnInsert': { __v: 0 } }, { upsert: true })

以下方式可以

 Model.collection.update(conditions, update, function(err, result){
          res.send(result)
        });
数理化全能战士 2022-09-11 15:19:03

Mongoose的文档写的有些太过简洁,所以有很多使用中的问题。

希望大家一起努力,整理出一些Mongoose好的中文文档出来。

Love MongoDB! Have Fun!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文