mongodb ruby delete_all嵌套文档



我正试图使用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
}
}

有什么建议吗?

我想好了,应该是:

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

最新更新