Mongodb / javascript变量查询

mongodb / javascript variable in query

本文关键字:查询 变量 javascript Mongodb      更新时间:2023-09-26

i have:

var optiontable = {1: 'attack', 2: 'defence', 3: 'intelligence'};
    var option = 1;
    var minion = minions[thisminion]; // get correct, works.
    console.log(optiontable[option]); // would output "attack"
    var nameoption = optiontable[option];
var increasement = 8;

我该怎么做才能得到小黄人。基于:

的攻击
thisminion.nameoption  // this wont work when it should display the result of thisminion.attack

和获取name选项来使用:

      minions.update({
                    _id: thisminion._id,
                    userid: playerid
                }, {$inc: {nameoption: increasement}})

如果不看其余的代码很难判断,但看起来您只需要更改

thisminion.nameoption

thisminion[nameoption]

因为你的原始行试图访问这个miniion的属性'nameoption'。使用方括号将访问与nameoption的值命名相同的属性。

至于mongo部分:由于不能使用变量作为左值,因此需要做一些额外的工作:
var updateObj = {};
updateObj[nameoption] = increasement;

那么你可以这样做:

 minions.update({
                    _id: thisminion._id,
                    userid: playerid
                }, {$inc: updateObj})

相似的问题:

如何从变量

设置mongo字段

MongoDB update语句中使用变量