如何区分创建的新对象和使用mongo找到的对象

时间:2013-09-11 17:59:51

标签: mongodb findandmodify

根据mongo docs,我的返回对象应该包含一个lastErrorObject,它应该通过updatexisting指示对象是新对象还是旧对象。我没有看到这个对象。如何修复查询以区分创建的新对象和找到的对象?

 db['posts'].find_and_modify({:query=>{"id"=>post_hash["id"]}, :update=>post_hash, :upsert=>true})

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您引用的文档并非特定于ruby驱动程序。尝试添加:full_response => true选项,如下所示:

http://api.mongodb.org/ruby/current/Mongo/Collection.html#find_and_modify-instance_method

它应该返回一个带有所请求文档的哈希值(“value”)和一个带有“updatedExisting”字段的“lastErrorObject”哈希,你可以检查它。希望有所帮助。