Mongo delete_many 方法不会从数据库中删除文档

Mongo delete_many method does not remove document from db

我正在尝试从 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")})

当我不应该得到文件时,我仍然得到了文件。

尝试:

collection.delete_many(:resource_owner_id => BSON::ObjectId("00000111111"))