如何更新 Mongodb 中已知其名称的特定字段?

How to update a specific field in Mongodb knowing it's name?

我有以下代码

def update_field(db_entity, field_name)
  db_entity_value = db_entity.attributes[field_name]
  if db_entity_value == false
    db_entity.update(field_name: true) # db_entity.update(person_name: true) works!
  end
end

它需要两个变量:db_entityfield_name(它是一个字符串值,如 "age" or "weight")。我想更新 field_name 的值。 我可以通过使用 db_entity.attributes[field_name] 获取它的值然后我想将值设置为 true 如果它是 false,但我不知道如何更新它因为 field_name 它是一个变量,其中包含我要更新的字段名称。请帮忙

def update_field(db_entity, field_name)
  db_entity_value = db_entity.attributes[field_name]
  if db_entity_value == false
    db_entity.update(field_name => true)
  end
end

在 Ruby 中,当您使用 hashrocket (=>) 语法构造哈希时,键可以是变量。

您也可以使用update_attribute(name, value)