我无法使用 Model.find(id) 找到记录。
Food.find('548210e8d5a81037af06b2d6') => Mongoid::Errors::DocumentNotFound
但是当我尝试使用 column name 查找相同的记录时,我将返回相同的记录。
Food.where({name:"Aloo Matar" }).first
=> #<Food _id: 548210e8d5a81037af06b2d6, rawOrPrepared: "P", name: "Aloo Matar", tags: "vegetable", alternateNames: "potatoes">
就我而言, find 的工作方式因字符串而异。请看下面的代码。
Food.where({_id: "zyCMnbTPENeXkhawT" })
=> #<Mongoid::Criteria
selector: {"_id"=>"zyCMnbTPENeXkhawT"}
options: {}
class: Food
embedded: false>
2.2.1 :017 > Food.where({_id: '548210e8d5a81037af06b2d6' })
=> #<Mongoid::Criteria
selector: {"_id"=>BSON::ObjectId('548210e8d5a81037af06b2d6')}
options: {}
class: Food
embedded: false>
但是第一个代码返回对象,而第二个代码引发异常。
请帮助我。
谢谢,野兔