MongoDB: 从结果中返回动态字段

MongoDB: returning dynamic field from the result

考虑 collection,

MongoDB Enterprise rs0:PRIMARY> db.col.find({});
{ "_id" : 1, "height" : 150, "weight" : 60 }

我想编写一个函数来动态 return 基于输入的字段值。

function getFieldValue(inputField){
    
    var resultDoc = db.col.findAndModify({
        query:{_id: 1 },
        update: {$inc:{[inputField]:1}},
        new:true
        });
    
    return resultDoc;
}

这将 return 整个文档。我怎样才能 return 只有作为输入传递的字段?

MongoDB Enterprise rs0:PRIMARY> var x = getFieldValue("weight")
MongoDB Enterprise rs0:PRIMARY> x
61

我试过 resultDoc.[inputField],但那会导致语法错误。

您不需要 resultDoc.[inputField] 中的点,所以它将是 resultDoc[inputField]