通常,要从MongoDB中的集合中删除某些字段,请使用$unset
。我可以在Ruby中做些什么来实现这一目标?我试过阅读this,但我无法理解如何使用它。我是Ruby的新手,仍在学习使用它。
答案 0 :(得分:2)
$unset
运算符通过update
命令使用,该命令记录为here,用于ruby驱动程序。
退一步,标准的(10gen维护的)MongoDB Ruby驱动程序可以完成mongodb所能完成的所有工作。它非常明确地暴露了mongodb的全部功能,就像其他语言中的mongodb驱动程序一样。所以不要担心能用任何特定语言做mongo事情。
您可能想知道流行的ODM层的功能,因为它们各不相同。 ODM层将mongodb文档映射到本机语言对象。在Ruby中,mongoid是最受欢迎的ODM。正如@Tilo指出的那样,它还支持通过更高级别的API明确地从文档中删除字段。
答案 1 :(得分:0)
请检查Mongoid的这个问题:
https://github.com/mongoid/mongoid/pull/635
p = Product.first
p.raw_attributes.delete :foo
p.save