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

Mongoid删除文档匹配ID

如何解决《Mongoid删除文档匹配ID》经验,为你挑选了1个好方法。

我正在尝试删除我的收藏中的重复文档.这是我的代码:

class Sites
  include Mongoid::Document
  store_in collection: "sites"
end

Sites.destroy_all(conditions: { _id: BSON::ObjectId("5685a45be4b06ab5911dcd12")})

这是返回的内容:

D, [2015-12-31T17:39:16.488657 #10126] DEBUG -- : MONGODB | localhost:27017 | rails.find | STARTED | {"find"=>"sites", "filter"=>{"conditions"=>{"_id"=>BSON::ObjectId('5685a45be4b06ab5911dcd12')}}}
D, [2015-12-31T17:39:16.488946 #10126] DEBUG -- : MONGODB | localhost:27017 | rails.find | SUCCEEDED | 0.000189083s

但是当我搜索文件时仍然存在:(

{"_id"=>BSON::ObjectId('5685a45be4b06ab5911dcd12'), "name"=>"StackOverflow", "title"=>"Stack Overflow", "type"=>"Forum", "url"=>"http://www.stackoverflow.com"}

如何使用Mongoid通过引用永久删除文档?



1> 小智..:

具有5.x的Mongoid与我们习惯的AR方法的关系更为密切,因此您的id字段的行为方式类似.

Sites.where(id: '5685a45be4b06ab5911dcd12').delete

要调用所有必要的回调,只需使用.destroy.只知道这会将所有内容加载到内存中并且可能很昂贵.

Sites.where(id: '5685a45be4b06ab5911dcd12').destroy

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