首页 文章

确定mongodb save方法是否真的更新了记录

提问于
浏览
1

我的问题在 Headers 中很清楚 . 当我的服务请求来更新mongoDb中的相关记录时,我们使用“保存”方法 .

但是,我想了解save方法是否真的更新了记录 .

换句话说,我想知道要保存的内容是否与mongoDb中的现有内容相同 . 因此,即使执行保存方法没有任何错误,是否可以理解它是否真的更新?

提前致谢

2 回答

  • 1

    有几种方法可以检查这一点 .

    第一个是在调用Save之后,是调用getLastError方法 . 在控制台中,这只是db.getLastError() .

    这将告诉您上一次操作期间是否发生错误 . 更多详细信息,请访问以下地址http://docs.mongodb.org/manual/core/write-operations/#write-concern .

    另一种方法是调用findAndModify,这将允许您更新文档并返回更新的文档 . http://docs.mongodb.org/manual/reference/command/findAndModify/

    这些都可以在所有官方驱动程序中使用 .

  • 1

    Save方法总是写入记录 .

    在Mongo中没有任何情况下写入不会发生,因为正在保存的记录与已经存在的记录相同 . 写入将简单地发生并用新数据“覆盖”现有数据(恰好相同) .

    你可以告诉的唯一方法是比较旧文件和新文件 - 这是一项额外的工作 .

相关问题