在mongodb中使用变量就像字段名称的一部分一样?

时间:2015-03-24 10:58:48

标签: javascript node.js mongodb mongoose

我对mongodb的查询有问题。 首先,我在我的mongoose架构上有这个对象,就像这个

obj_proof: {
        field1_proof: String,
        field2_proof: String 
}

我想对mongo进行查询,其中字段名称的一部分会自动更改(实际上它是作为函数的参数传递的) 这是一个例子:

var attr = 'obj_proof.'+field; //field is passed by the some function in which                there is this code
    ProofSchema.update({ 'Id': Id }, { attr : value }, function(err, result) {  //Id is another parameter that is passed by the same function, like field and value
});

但它不起作用。 问题是我不想复制这个函数,因为obj_proof总是一样的。另一方面,现场变化。

1 个答案:

答案 0 :(得分:2)

试试这个

var attr = 'obj_proof.' + field; //field is passed by the some function in which                there is this code

var key_attr = {};
key_attr[attr] = value; // the value


ProofSchema.update({'Id': Id}, key_attr, function(err, result) {  //Id is another parameter that is passed by the same function, like field and value
});

由于