gpt4 book ai didi

javascript - 如何根据以前的值更新 MongoDB 文档?

转载 作者:可可西里 更新时间:2023-11-01 09:11:08 25 4
gpt4 key购买 nike

很抱歉,如果这是非常基本的,但我是一个 mongodb 新手并且无法找到这个问题的答案:

假设我正在执行以下操作:

db.collection("bugs").updateOne({ _id: searchId }, { $set: { "fixed": true }}

如何将“fixed”设置为与“fixed”的最后一个值相反?没有任何额外的查询?像 { $set: { "fixed": !fixed }}

最佳答案

通过坚持存储 bool 值的想法(在未来的 MongoDB 版本中可能会实现),目前在 MongoDB 中仅通过一次操作就不可能实现这一点。但是,有一种变通方法可以通过存储位(0 或 1)来表示 true 或 false 而不是 bool 值,并对 MongoDB 中的位执行按位异或运算,如下所示:

db.collection("bugs").updateOne(
{
_id: searchId
},
{
$bit : {
fixed: {
xor: NumberInt(1)
}
}
}
)

请注意,您还必须将 0 存储为 NumberInt(0) 以表示 false1作为 NumberInt(1)fixed prop 中表示 true,默认情况下 MongoDB 将所有数字视为浮点值。

关于javascript - 如何根据以前的值更新 MongoDB 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51328049/

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