Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongo值未更新_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js Mongo值未更新

Node.js Mongo值未更新,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我试图简单地增加mongoose中一个对象的值,它似乎不想超过2??有什么我遗漏的吗?我对Mongo还是个新手 campsite.findOne({slug : req.body.campsite.slug }, function(err, site){ if(!site.tracking){ console.log("no previous tracking at all"); site.tracking = {}; } if(sit

我试图简单地增加mongoose中一个对象的值,它似乎不想超过2??有什么我遗漏的吗?我对Mongo还是个新手

campsite.findOne({slug : req.body.campsite.slug }, function(err, site){

    if(!site.tracking){
        console.log("no previous tracking at all");
        site.tracking = {};
    }

    if(site.tracking[req.body.tracking_type] == undefined){
        console.log("no previous tracking of this type");
        site.tracking[req.body.tracking_type] = 1;
    }else{
        console.log("well count it then!");
        site.tracking[req.body.tracking_type] += + 1;
    }

    site.save(function (err, fluffy) {
        console.log(err);
    });

    res.send(200);
});
它只是不保存更新的结果?我的模式如下

var campsitesSchema = new Schema({
    name: String,
    address_line_1: String,
    address_line_2: String,
    county: String,
    postcode: String,
    loc: Array,
    website: String,
    email: String,
    telephone_1: String,
    telephone_2: String,
    description: String,
    slug:String,
    status:String,
    confirm_url_key: String,
    password: String,
    short_description: String,
    long_description: String,
    features: Array,
    tracking: {}
});

您最好使用带有$inc修改器的更新

campsite.update({slug : req.body.campsite.slug }, {$inc: { 'tracking[' + req.body.tracking_type + ']' : 1} });

您不能使用“tracking['+req.body.tracking_type+']@user324014尝试“tracking”。+req.body.tracking_type@user3240114req.body.tracking_type的值是多少?没关系,我已经对它进行了排序,似乎唯一能绕过它的方法是替换整个跟踪对象,看我的回答本质上我必须用$set修饰符替换整个对象,如果没有回调,它也不起作用