如何在mongodb-native findAndModify中将variables用作字段名称?

在这个使用mongodb本地驱动程序的代码中,我想增加在一个单独的variables中指定的字段的值。 问题是$ inc子句中的字段名称在这种情况下将是“variables”,而不是variables的内容。 在查询部分中,所选的variables按预期工作并find正确的ID。

var selected = 'id_of_the_selected_one'; var variable = 'some_string'; collection.findAndModify( {_id : selected}, {}, {$inc : {variable : 1}}, {new : true, upsert : true}, function(err, autoincrement) { /* ... */ } ); 

我该怎么做才能使variables的内容代替“variables”这个词呢?

将另一个variables的关键字设置为其值,并将其作为对象传递。 行动注释:

 var selected = 'id_of_the_selected_one'; var variable = 'some_string'; var action = {}; action[variable] = 1; // the value collection.findAndModify( {_id : selected}, {}, {$inc : action}, {new : true, upsert : true}, function(err, autoincrement) { /* ... */ } ); // Same as {$inc: {'some_string': 1} }