MongoDB Compass 过滤器表达式到 Go bson.M 表达式

我在MongoDB Compass 过滤器上有一个过滤器,介于两个日期和一个由两个可能值组成的字符串之间,如下代码:


{closed_at: {$gt: ISODate('2020-07-01T00:00:00.700+00:00'),$lt: ISODate('2020-07-30T00:00:00.700+00:00')}, status: { $in: ["paid", "delivered"] }}

在此处输入图像描述 (如果在 Go 上过滤相同的值,我希望得到相同的 1256 个文档)

http://img1.mukewang.com/62b184f70001848011080366.jpg

现在我需要将此过滤器转换为有效的 bson.M 表达式,找不到提交“状态”字符串的技巧,有这个查询表达式但有一个错误消息:


query := bson.M{

    "status" : ["paid", "delivered"], //Error: Invalid array bound '"paid"', the value must be representable by 'int' type

    "closed_at": bson.M{"$gt": from, "$lt": to},

}


cursor, err := client.Database("orders").Collection("orders").Find(ctx,query)

¿ 声明状态字段并将值查询传递给 Find 方法的正确方法是什么?


慕桂英4014372
浏览 176回答 1
1回答

GCT1015

您没有完全翻译查询:"status": bson.M{"$in":[]string{"paid","delivered"}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go