【发布时间】:2016-02-05 06:55:51
【问题描述】:
这一定是一个简单的答案,但我很困惑。我正在使用 Mongo Mapper 运行 Sinatra 应用程序,并尝试销毁与 rem_users 数组中的用户 ID 关联的少数文档。以下循环为 rem_users 的每个元素查找关联的 GroupMember,并尝试将其删除。当我运行它时,GroupMember 没有被破坏。
rem_users.each do |du_id|
###
GroupMember.first('$and' => [{dealer_user_id: du_id}, {group_id: g.id}] ).destroy
end
rem_users 是一个已转换为字符串的 BSON id 数组。我已经验证该查询使用此查询提取了正确的 GroupMember,如果我在示例中 ### 所在的位置放置一个 binding.pry 并复制粘贴循环的确切下一行,则 GroupMember 被成功销毁.我试过了:
remgm = GroupMember.all('$and' => [{group_id: g.id}, {dealer_user_id: rem_users}])
remgm.each {|gm| GroupMember.destroy(gm.id)}
结果是一样的。 GroupMember 模型上没有任何类型的验证。谢谢!
【问题讨论】:
标签: ruby mongodb sinatra mongomapper