用猫鼬更新值

时间:2018-08-16 14:27:39

标签: javascript node.js mongoose

我想用猫鼬更新一个值,该值位于两个数组中,因此不起作用。

这是我用来通过console.log获取价值的方式。

console.log('MyValue',bestClustering.cluster_importance[0].feature_importance[0].name)

不简单。

这是我要求更新值

var value = {
  'cluster_importance[0].feature_importance[0].name': 'toto'
}
ClusterImportance.update({
  "_id": bestId,
  "cluster_importance[0].cluster": clusterNumber
}, {
  $set: {
    value
  }
})

我阅读了只适用于一个数组而不适用于两个数组的猫鼬文档。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

根据您的代码

console.log('MyValue',bestClustering.cluster_importance[0].feature_importance[0].name)

假设它输出MyValue John

使用[..]获取变量的作为

var value = {
  [bestClustering.cluster_importance[0].feature_importance[0].name]: 'toto'
}
ClusterImportance.update({
  "_id": bestId,
  [bestClustering.cluster_importance[0].cluster]: clusterNumber
}, {
  $set: {
    value
  }
})

更多示例:

const mistake = 'key';

const obj1 = { 'mistake': 5}
console.log(obj1.mistake); // 5

const obj2 = { mistake: 5 }
console.log(obj2.key) // undefined

const obj3 = { [mistake]: 5 }
console.log(obj3.key) // 5