从数据库删除字段而不重置它

时间:2013-03-06 10:59:53

标签: ruby-on-rails mongodb mongoose database

我有这个型号的玩家:

"sport_id" : ObjectId("512db94e6ee1f54932000001"),
"team_id" : ObjectId("512dbaf36ee1f5523e00000a"),
"twitter" : false,
"twitter_account" : "@brianhartline",
"updated_at" : ISODate("2013-03-06T10:37:45.943Z"),
"version" : 7,

我已从我的模型中删除了twitter,但数据库已经有字段twitter。我不想放弃playerDB,但我想删除现有数据库中的twitter字段。

我必须做什么?

3 个答案:

答案 0 :(得分:1)

您可以尝试删除此属性

player.attributes.without('twitter')

答案 1 :(得分:1)

这应该有效:

Player.each do |player|
  player.unset(:twitter)
end

答案 2 :(得分:0)

要在mongo shell中执行此操作:

db.players.update({}, {$unset: {twitter: 1}}, {multi: true})