当前位置:  开发笔记 > 编程语言 > 正文

删除mongoid中的嵌入文档

如何解决《删除mongoid中的嵌入文档》经验,为你挑选了1个好方法。

我有一个只带有名称字段的项目模型,还有与line_items的嵌入关系.class Project包括mongoid :: document字段:name embeds_many:line_items end

  class LineItem
   include mongoid::document
   field :title
   embedded_in :project, :inverse_of => :line_items
  end

我想这更像是mongo驱动程序的问题:如果我有这样的文件

db.project.find()[0]
      {
        _id : 123, 
        name : "housework", 
        line_items:[
         { title : "clean fridge", _id : 601},
         { title : "clean tub",    _id : 602},
         { title : "clean oven",   _id : 603}
        ]
      }

1)如何在mongo控制台中更新说明ID为601的订单项?

2)如何删除它?

谢谢!



1> Hollownest..:

当前的Mongoid(2.0.0)允许:

@category = @list.categories.find(params[:id])
@category.delete

结果数据库查询/更新如下所示:

MONGODB test ['lists'].update({"_ id"=> BSON :: ObjectId('4d9522315569b11918000019')},{"$ pull"=> {"categories"=> {"_ id"=> BSON :: ObjectId ( '4d9523e05569b1191800001f')}}})

另请参阅http://mongoid.org/docs/persistence/上的最后一个示例

注意,我试过这个可以使用ActiveRecord(@ list.categories.delete(xx))的变体,这些似乎没有任何效果.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有