mongodb - Mongoose 更新参数为空

浏览:40日期:2023-06-17

问题描述

初始化 ’ update = {’$inc’: {'Prodects.$.price': 1}},’但无法传入update 参数中, 结果为’$inc’: {} ,

版本号

node v6.6.0 'mongoose': '^4.7.5',MongoDB shell version v3.4.0app.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}},’

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

问题解答

回答1:

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)});回答2:

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

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

Love MongoDB! Have Fun!

相关文章: