gpt4 book ai didi

mongodb - 为什么这一行删除了我的 MongoDB 数据库中的所有内容?

转载 作者:可可西里 更新时间:2023-11-01 10:07:49 28 4
gpt4 key购买 nike

好的,我正在尝试对我的网站进行一次小更新。一个更新包括查询可能存在或可能不存在的字段。这并不像我想要的那样工作,所以我决定只做它以便该字段始终存在于我的数据库中。我在 MongoDB shell 中使用了这一行:

> db.entries.update({Published: null},{$set: {Published: true}},false,true);

现在,我不完全理解这是如何导致 Published 为 null 的每个条目对象被删除的。我的意思是,它确实被删除了。我尝试查找一些 ID,.findOne 将为它们返回 null。

那条线是如何工作的?我认为它会获取 Published 为空(不存在)的每个条目,并将 Published 设置为 true。

最佳答案

阅读运算符(operator)行为优于猜测运算符(operator)行为。搜索 null 不同于执行是否存在检查。

MongoDB 有一个专用的 $exists 运算符:

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24exists

关于mongodb - 为什么这一行删除了我的 MongoDB 数据库中的所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5725485/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com