我遇到了一个随机发生的问题。
首先,exsit?(collection, id)
返回true
这意味着MongoDB中已经有一个文档,所以我必须在下一步中进一步检查
然后(coll.find({_id: id}).first['history'].last['price']
会引发错误
#<NoMethodError: undefined method `last' for nil:NilClass>
我不明白为什么这会随机发生。
def exsit?(collection, id)
return (collection.find({_id: id}).first.nil? ) ? false : true
end
def is_price_changed?(coll, id, current_price)
if exsit?(coll, id)
return (coll.find({_id: id}).first['history'].last['price'] != current_price)? true : false
else
return true
end
end
{
"updated_at": new Date(1435757280839),
"price": 16890,
"history": [
{
"updated_at": new Date(1435757277672),
"price": 16890
}
]
}
答案 0 :(得分:0)
看起来该id的'history'属性为nil