gpt4 book ai didi

mongodb - 根据 bool 值进行编辑或创建

转载 作者:行者123 更新时间:2023-12-03 10:09:17 25 4
gpt4 key购买 nike

我的集合中有一个对象,该对象可能包含一个 bool 值,称为“verified”或“不”。
如果它确实具有此变量并且为false,那么我想将其设置为true。
如果它没有此变量,那么我想将其创建为true。

query := bson.D{{Key: "email", Value: email}}
update := bson.D{
{Key: "$set",
Value: bson.D{
{Key: "verified", Value: true},
},
},
}


err := col.Collection("objects").FindOneAndUpdate(context.Background(), &query, &update).Err()
我试过了:
    upsert := true
opts := options.FindOneAndUpdateOptions{
Upsert: &upsert,
}

filter := bson.D{{Key: "email", Value: email}}
query := bson.D{
{Key: "$set",
Value: bson.D{
{Key: "verified", Value: true},
},
},
}

err := col.Collection("objects").FindOneAndUpdate(context.Background(), &filter, &query, &opts).Err()
但是,如果不存在已验证的值,则不会将已验证的设置为true。即使它确实存在并且为假,它仍未设置为true。

最佳答案

如何使用upsert:是的?
上升:

  • 如果没有与过滤器匹配的文档,则创建一个新文档。
    与过滤器匹配的单个文档。

  • 尝试在findOneAndUpdate()中传递upsert:true

    关于mongodb - 根据 bool 值进行编辑或创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65237847/

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