Невозможно сравнить ObjectID во время запроса с использованием mgo - PullRequest
0 голосов
/ 29 апреля 2020

Кажется, я не могу сравнивать ObjectID, используя Find

// M is short for bson.M
type M bson.M
var msgs []Message
query := M{
    "_id":    M{"$gt": bson.ObjectIdHex("5e05bcf117e7185189f37194")},
}
err := db.messages.Find(query).All(&msgs)
if err != nil {
    println(err.Error())
} else {
    b, err := json.Marshal(msgs)
    if err != nil {
        println(err.Error())
    }
    println(string(b))
}

output:

null

меняется на "$ lt "все еще возвращает ноль. использование query:=M{} возвращает все сообщения. также ObjectID "5e05bcf117e7185189f37194" предназначен для сообщения из середины.

Я думаю, что я запускаю это в goroutine

...