gpt4 book ai didi

go - 未知运营商 : "$or" in mgo

转载 作者:IT王子 更新时间:2023-10-29 00:57:44 32 4
gpt4 key购买 nike

我在下面的代码中遇到了unknown operator: $or 错误,我无法弄清楚原因。

vc := &storers.VCategory{}

err = mndb.
C("virtualcategoryprototypes").
Find(bson.M{
"children": nil,
"deleted_by": nil,
"indexCycleNo": bson.M{"$or": []bson.M{
bson.M{"$exists": false},
bson.M{"$lt": cycle}}}}).
One(vc)

最佳答案

$or 表达式是一系列(数组)其他条件,它们本身有效(并且将使用逻辑 OR 连接进行评估),以及 $ 的结果or 表达式将与同级的其他条件进行逻辑与连接。

所以你必须将$or运算符上移一层,它的值必须是 slice 或数组,而$or的元素将是你的case indexCycleNo: {$exists: false}indexCycleNo: {$lt: cycle}:

err = mndb.
C("virtualcategoryprototypes").
Find(bson.M{
"children": nil,
"deleted_by": nil,
"$or": []bson.M{
{"indexCycleNo": bson.M{"$exists": false}},
{"indexCycleNo": bson.M{"$lt": cycle}},
},
}).
One(vc)

关于go - 未知运营商 : "$or" in mgo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47197567/

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