蒙哥:4.4 去:1.17.3
我正在尝试获取字符串字段值超过四个符号的文档。这是我在 mongo 的 shell 中使用的查询:
db.player.find({
"name": { "$exists": true },
"$expr": { "$gt": [ { "$strLenCP": "$name" }, 4 ] }
})
这是相同的查询,但编码为bsonfilter in go:
longName := bson.M{
"name": bson.M{"$exists": true},
"$expr": bson.M{
"$gt": bson.A{
bson.M{"$strLenCP": "$name"},
4,
},
},
}
fmc, err := collection.Find(context.TODO(), longName)
if err != nil {
log.Panic(err)
}
var longBoi models.Player
err = fmc.Decode(&longBoi)
if err != nil {
log.Panic(err)
// panic here:
// 2021/12/15 15:53:46 EOF
// panic: EOF
}
第一个将输出字符串字段值长度大于某个数字的所需文档。第二个将与 just EOF、 timestamp 和 callstack 错误。调试器说batch内部游标fmc不包含数据。
第二种情况有什么问题?
大话西游666
相关分类