Кажется, я не могу сравнивать 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