ruby-on-rails - 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
}
}
推荐阅读
- twilio - Twilio Flex 中未显示以编程方式创建的任务属性
- c - AVR:main()/ISR 干扰
- sql-server - 如何对链接服务器执行存储过程?
- python - 为什么这个非常简单的功能不起作用?
- sql - 选择所有唯一元组的 SQL 查询
- wordpress - 如何将元框添加到特定页面?
- python - 绘制多个 Pandas 数据框
- php - Spatie laravel-permissions Giving Error of Argument 1 Passed
- hadoop - 带通配符的 Hadoop fs 测试命令
- jenkins - PR 构建中无法识别管道语法