簡體   English   中英

mongodb /查詢中的javascript變量

[英]mongodb / javascript variable in query

我有:

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;

我將如何基於以下方式獲取minion.attack:

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]

由於您的原始行嘗試訪問此minion的名為“ nameoption”的屬性。 使用方括號將訪問與nameoption值相同的名稱屬性。

至於mongo部分:由於您不能將變量用作左值,因此需要做一些額外的工作:

var updateObj = {};
updateObj[nameoption] = increasement;

那么您可以執行以下操作:

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

類似問題:

如何從變量設置mongo字段

在MongoDB更新語句中使用變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM