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]
。
考虑 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]
。