0

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

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

我做错了什么?

4

1 回答 1

3

您参考的文档并非特定于 ruby​​ 驱动程序。尝试添加 :full_response=>true 选项,如此处所述:

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

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

于 2013-09-17T16:35:56.630 回答