Mongo delete_many方法不会从db中删除文档

时间:2017-07-19 11:41:42

标签: ruby-on-rails mongodb mongoid

我正在尝试从Rails中删除MongoDb数据库文档。

根据mongodb docs,这是做到这一点的方法:

db = Mongoid::Clients.default
collection = db[:oauth_access_tokens]
collection.delete_many({"resource_owner_id": "xxxxxxxxxxxxxx"})

基于我得到的结果应该没问题:

<Mongo::Operation::Result:58395820 documents=[{"ok"=>1, "n"=>0, "opTime"=>{"ts"=>#<BSON::Timestamp:0x00000006f62380 @seconds=1500457271, @increment=1>, "t"=>2}, "electionId"=>BSON::ObjectId('xxxxxxxxxxxxxxxxx')}]>

但是如果我在mongo shell中找到了:

db.oauth_access_tokens.find({resource_owner_id: ObjectId("00000111111")})

当我不应该时,我仍然会收到文件。

1 个答案:

答案 0 :(得分:1)

尝试:

collection.delete_many(:resource_owner_id => BSON::ObjectId("00000111111"))
相关问题