如何更新 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_entity
和 field_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 (=>
) 语法构造哈希时,键可以是变量。
我有以下代码
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_entity
和 field_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 (=>
) 语法构造哈希时,键可以是变量。