duanfei8399 2016-08-04 11:00
浏览 88

mgo会话中的SetSafe默认值

Can someone explain me the difference between the default value of SetSafe() which is &Safe{} and SetSafe(nil)?

As per the mgo godoc:

If the safe parameter is nil, the session is put in unsafe mode, and writes become fire-and-forget, without error checking. The unsafe mode is faster since operations won't hold on waiting for a confirmation.

If the safe parameter is not nil, any changing query (insert, update, ...) will be followed by a getLastError command with the specified parameters, to ensure the request was correctly processed.

The default is &Safe{}, meaning check for errors and use the default behavior for all fields.

Looking at the code it seems it will call getLastError command in mongo with values j:false, w:0, wtimeout:0. This means it will not return any error from mongo and the behavior seems to be similar while calling SetSafe(nil).

Then what error I am expected to receive while calling mongo with SetSafe(&Safe{})?

I am on Mongo 3.0.9.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
    • ¥15 帮我写一个c++工程
    • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
    • ¥15 关于smbclient 库的使用
    • ¥15 微信小程序协议怎么写
    • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
    • ¥20 怎么用dlib库的算法识别小麦病虫害
    • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
    • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
    • ¥15 有了解d3和topogram.js库的吗?有偿请教