mongodb 不管存在不存在该值都会返回1?
某草草
某草草 2017-05-02 09:21:43
[MongoDB讨论组]

update({"tag":"9_14712612489","funding_id":9,"inventory_num":{"$gt":0}},{"$inc":{"inventory_num":-1}})

就是查找大于0的然后-1
但是这个数据不存在 也会返回true 是我程序接住了异常还是本来就是这样?

某草草
某草草

全部回复(1)
过去多啦不再A梦

这里主要是true和false的理解不同。true代表更新的操作成功了,但不一定更新了任何记录。false代表更新的操作失败了,可能是各种系统错误和异常,比如连不上mongod。

> db.user.update({"username": "test"}, {"source": "ios"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.user.update({"username": "xxxx"}, {"source": "ios"})
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })

像上面的例子,两个返回的都是true,因为他们的操作都成功了,不管有没有更新

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号