根据mongo docs,我的返回对象应该包含一个lastErrorObject,它应该通过updatexisting指示对象是新对象还是旧对象。我没有看到这个对象。如何修复查询以区分创建的新对象和找到的对象?
db['posts'].find_and_modify({:query=>{"id"=>post_hash["id"]}, :update=>post_hash, :upsert=>true})
我做错了什么?
答案 0 :(得分:3)
您引用的文档并非特定于ruby驱动程序。尝试添加:full_response => true选项,如下所示:
http://api.mongodb.org/ruby/current/Mongo/Collection.html#find_and_modify-instance_method
它应该返回一个带有所请求文档的哈希值(“value”)和一个带有“updatedExisting”字段的“lastErrorObject”哈希,你可以检查它。希望有所帮助。