【问题标题】:mongodb ruby delete_all nested documentmongodb ruby​​ delete_all 嵌套文档
【发布时间】:2020-04-18 21:34:36
【问题描述】:

我正在尝试使用 MongoDB Ruby-Driver 在嵌套文档中实现 delete_all。它将被合并到 bulk_write 中。

型号:

User
- Addresses # which is a nested model within User model

我可以使用 Mongoid 做到这一点:user.addresses.delete_all

但我需要使用 MongoDB Ruby 驱动程序来实现它。我试过了,但它不起作用:

{
:update_one => {
  :filter => { "_id" => customer.id },
  :update => { "$unset" => { "addresses":{} } },
  :upsert => false 
}
}

我也试过了,还是不行

{
  :update_one => {
      :filter => { "_id" => customer.id },
      :update => { "$pullAll" =>  { :addresses => [{ :category => "default"}, { :category => "work"}] }},
      :upsert => false
  }
}

有什么建议吗?

【问题讨论】:

    标签: ruby-on-rails ruby mongodb


    【解决方案1】:

    我想通了,应该是:

    {
    :update_one => {
      :filter => { "_id" => customer.id },
      :update => { "$set" => { "addresses":[] } },
      :upsert => false 
    }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-09
      • 2016-07-01
      • 2016-08-04
      • 2021-02-25
      • 2016-08-16
      • 2011-05-24
      • 2021-11-12
      相关资源
      最近更新 更多