$and 表达式必须是非空数组

我正在尝试使用 mgo lib 创建一个查询。


q := bson.M{

    "$and": bson.M{

        "btId": neighbour.BtId,

        "timestamp": bson.M{

            "$gt": sensorDataStartPoint.Timestamp,

            "$lt": sensorDataStartPoint.Timestamp.Add(time.Second * 3000),

        },

    },

}

所以这呈现为map[$and:map[btId:BTR0102 timestamp:map[$gt:2012-04-11 19:08:59 +0200 CEST $lt:2012-04-11 19:58:59 +0200 CEST]]]但我$and expression must be a nonempty array在尝试执行查询时出错


它应该是 : btId = "123" AND timestamp > sensorDataStartPoint.Timestamp AND timestamp < sensorDataStartPoint.Timestamp + 3000s


墨色风雨
浏览 144回答 1
1回答

繁华开满天机

尝试:q := bson.M{&nbsp; &nbsp; "btId": neighbour.BtId,&nbsp; &nbsp; "timestamp": bson.M{&nbsp; &nbsp; &nbsp; &nbsp; "$gt": sensorDataStartPoint.Timestamp,&nbsp; &nbsp; &nbsp; &nbsp; "$lt": sensorDataStartPoint.Timestamp.Add(time.Second * 3000),&nbsp; &nbsp; },}没有必要使用,$and因为这是 MongoDB 查询的默认设置。另请注意,如果有必要使用$and预期的参数,则有一个数组,而不是一个映射!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go